CommonLisp

defstruct(構造体定義) について

common lisp の構造体の使い方がやっとわかったのでメモ こんな感じで構造体を作ることができる ? (defstruct human (height 0) (weight 0)) HUMAN ? (make-human) ;; デフォルトのコンストラクタ名は make-<構造体名> #S(HUMAN :HEIGHT 0 :WEIGHT 0) ? (mak…

素因数分解をしてみた

素因数分解をしてみたのでメモ (defun primep-1 (n i) (cond ((> i (sqrt n)) T) ((zerop (mod n i)) nil) (t (primep-1 n (1+ i))))) (defun primep (number) (primep-1 number 2)) (defun next-prime (n) (cond ((primep n) n) (t (next-prime (1+ n))))) …

Caveman2 + keycloak で 認証サンプルを作ってみた

以下の記事を参考にしながらCaveman2 + Keycloak でOpenID connectをするサンプルを作ってみたいと思います qiita.com 注意! OpenID 初心者によるサンプル実装ですので ご自身で使用するときは しっかりした調査とテストをよろしくおねがいします Caveman2…

チェックアウトしたソースコードから lemを動かす

(前の記事からの続きです) チェックアウトしたソースコードをちょっとだけいじって REPL から起動することに成功したのでメモ。 ソースをちょっとだけ改変 Visual mode のコードをちょっとだけ変えてみます ~/.roswell/local-project/cxxxr/lem/lem-vi-mod…

REPL から lem を動かすことには成功したけど、、、

こないだの記事の続き github.com roswell/lem を覗いて、roswell/lem-ncurses.ros が呼ばれているっぽいことまでわかったので roswell/lem-ncurses.ros の中身をまねっこして動かしてみた ros -Q -m lem-ncurses -L sbcl-bin -e '(lem:lem)' うぉー!lem が…

lem を REPL から実行したいのだけど・・・

common lisp で作られたエディタがあるらしい。 早速試してみる github.com インストール $ ros install cxxxr/lem 実行 $ ~/.roswell/bin/lem ソースから実行してみたいなと思って やり方をいろいろググってみました。 peccu.hatenablog.com $ ros -s lem -…

はじめてのマクロ

こういう感じでマクロを作る (defmacro @@@ (car op cdr) `(,op ,car ,cdr)) (print (@@@ 1 + 2)) (print (macroexpand '(@@@ 1 + 2)))) 出力 3 (+ 1 2) へぇ。。。

roswellをインストールしてみる

あらすじ 前回、Roswellをインストールしてみようとしたらうまくいかなかったので ソースからコンパイルしてインストールしてみることにします 参考 ここを参考にインストールしていきます github.com インストール 事前準備 $ sudo apt update $ sudo apt i…

roswell をインストールしてみる(失敗)

パッケージマネージャってどれがいいんだろうか。。 diary.wshito.com Roswell がよさそうだな インストール方法はこんな感じだな。よしよし github.com debをDLしてインストールするんだな。 deb のインストールはここを参考にしてみました mickey-happygol…

emacs に SLIME を入れてみる

Lisp 書くなら emacs がいいらしい。 とりあえず emacsの使い方がさっぱりわからないのでいくつか資料を探してみたこれからemacsを使い始めたい人へ送るチュートリアル 第2回 - UNIX的なアレ 突然だがEmacs を始めよう - Qiita よし。完璧にマスター(白目 …

ASDF3 へのアップデート → Clackインストール

どうやったらASDFのアップデートができるのかうろうろ。 以下のページを発見しました。common-lisp.netgit clone して make 。。。かな? ~/opt$ git clone https://gitlab.common-lisp.net/asdf/asdf.git ~/opt$ cd asdf/ ~/opt/asdf$ make mkdir -p build …

Quicklisp インストール

次は以下の記事を参考にQuicklisp を入れてみました。modern-cl.blogspot.jp $ wget http://beta.quicklisp.org/quicklisp.lisp ~$ ccl Welcome to Clozure Common Lisp Version 1.7-r14925M (LinuxX8664)! ? (load "quicklisp.lisp") ==== quicklisp quicks…

Clozure CL をインストールしてみる

Clozure CL を(勘で)インストールしてみることに失敗したため svnやだとか もう言わないで きちんと手順を追ってインストールすることにします。引き続き参考にした資料ですmodern-cl.blogspot.jp $ sudo apt-get install -y subversion $ mkdir -p ~/opt …

CommonLisp (SBCL) で ningle を試してみる & 外部コマンドの実行

Commonlisp のお勉強。 今日はDockerコンテナ上で ningle を起動してみます。前準備 docker run -d -p :22 -p :5000 moremagic/comon-lisp-study apt-get update && apt-get install -y gcc vi ningle.lisp (ql:quickload :clack) (ql:quickload :ningle) (d…

CommonLisp で Webサーバ(Clack)を動かしてみる

Clack というWebフレームワークがあるそうです http://clacklisp.org/ 以下のページを見ていたら簡単に入れられそうでしたので挑戦してみました。 わかりやすい記事に感謝。 http://d.hatena.ne.jp/peccu/20111108/clack_local昔、Dockerで準備したSBCL環境…

Ubuntu 15.04 SBCL環境を作成

以下の勉強会に出てみることにしました。 勉強会は久しぶり。緊張しちゃうなぁ。「人工知能プログラミングのための Common Lisp 入門」 http://peatix.com/event/115092 勉強会を受けるための環境を作る必要がありました。 環境構築手順はこちら。 http://bl…

CommonLispでWebサーバを作ってみる

Land of Lisp P247 Webサーバを作ろう をやってみました。Docker上で開発環境を構築。 いろんな実験や学習をするときにホストOSが汚れないのがいいなぁ。 core@localhost ~ $ docker run -ti ubuntu /bin/bash root@306141dac20c:/# apt-get update root@306…