Dockerコンテナを利用した Common Lisp の環境構築
macOS に Common Lisp の環境を構築しようと思ったが、有志の方々が作ってくれた Dockerコンテナを利用するのも良いかと思い探してみる。この記事を記述した時点で更新されている Steel Bank Common Lisp で探す。
Dockerコンテナの検索
Docker のサイトで "sbcl" で検索したら、fukamachiさんの fukamachi/sbcl がヒットしたので使ってみることにします。
取得と実行
docker を利用してコンテナを取得し、実行してみる。
$ docker pull fukamachi/sbcl $ docker run -it fukamachi/sbcl * (format t "hello, world!") hello, world! NIL * (let (x) (setq x '(10 20 30)) (cdr x)) (20 30) * (defun fibonacci (n) (labels ((fibo (n current before) (if (zerop n) current (fibo (- n 1) (+ current before) current)))) (fibo n 1 0))) FIBONACCI * (mapcar #'fibonacci '(0 1 2 3 4 5 6 7 8)) (1 1 2 3 5 8 13 21 34) * (quit) $
注意: sbclは、未定義の変数をsetqすると警告が出ます。変数はletで定義しておく必要があります。
Docker って便利ですね。コンテナを作ってくれている皆さん、ありがとうございます。