Lispはいろんなのがあるけど、sbclにした。 Common LispのWebサーバ「Woo」がだから。
依存系のインストール(面倒なのでbrew)
brew install libev brew install sbcl
パッケージ管理?QuickLispのインストール
quicklisp.lisp がDLされ、それがあるフォルダで行う
curl -O http://beta.quicklisp.org/quicklisp.lisp sbcl --load quicklisp.lisp
そのあとで、SBCLを起動
sbcl
その起動内したターミナルで初期化 ※~/quicklisp/setup.lisp"にはすでに入ってるっぽい。
(load "~/quicklisp/setup.lisp") (ql:add-to-init-file)
これで晴れてqlコマンドが実行できる。
Wooのインストール
(ql:quickload :woo)
[package woo.ev.event-loop]....................... [package woo.ev.condition]........................ [package woo.ev.util]............................. [package woo.ev.socket]........................... [package woo.ev.tcp].............................. [package woo.ev].................................. [package woo.response]............................ [package woo.queue]............................... [package woo.specials]............................ [package woo.worker].............................. [package woo.signal].............................. [package woo].... (:WOO)
となればインストールされたっぽい。
一旦SBCKから抜けて、
hello_world.lispのファイルに書く
(ql:quickload :woo) (woo:run (lambda (env) (declare (ignore env)) '(200 (:content-type "text/plain") ("Hello, World"))))
起動
sbcl --load hello_world.lisp
起動できる。
5000がデフォルトのポートらしいので、
http://localhost:5000 にアクセスすると、"Hello World"と表示される。