Hunchentoot (SBCL および Linux) を使用して Web アプリに取り組んでおり、通常は Emacs (SLIME) から実行するだけですが、展開のためには、より簡単に自動化できるものが必要です。だから私は ASDF を理解しようとしています。なぜなら、それは最近みんなが使っているもののようだからです。
myapp.asd:
(in-package #:asdf)
(defsystem :myapp
:name "my app"
:depends-on ("hunchentoot")
:components ((:file "package")
(:file "server" :depends-on ("package"))))
package.lisp:
(defpackage myapp
(:use :cl))
サーバー.lisp:
(setq hunchentoot:*dispatch-table*
(list (hunchentoot:create-static-file-dispatcher-and-handler "/foo" "foo")))
(hunchentoot:start-server :port 8705)
手でロードしようとすると:
$ sbcl
* (require 'asdf)
* (asdf:operate 'asdf:load-op 'myapp)
一連の関数全体をロードしてコンパイルしますが、その後停止します。Hunchentoot が実行されておらず、プロンプトが入力を受け入れません。私はそれがどのような状態にあると考えているのかわかりません: 印刷された最後の行は次のとおりです:
STYLE-WARNING: Implicitly creating new generic function STRINGIFY-COOKIE.
STYLE-WARNING: Implicitly creating new generic function DISPATCH-REQUEST.
STYLE-WARNING: Implicitly creating new generic function WRITE-HEADER-LINE.
これを機能させる方法はありますか?(自白: ASDF や Common Lisp パッケージについて何時間も読んだにもかかわらず、私は本当によく理解していません。)