Как и некоторые из тех, кто задает вопрос, я новичок в Lisp. Я просматривал книгу Практический Common Lisp, но сделал шаг в сторону, чтобы увидеть, насколько легко это будет чтобы настроить веб-приложение, поэтому я также следил за этим руководством в качестве обновленной версии здесь.
Когда я дохожу до запуска сервера, мой REPL умирает, и я не могу ничего протолкнуть на *dispatch-table*
.
В общем, у меня есть код, который отлично работает в REPL, добавляя объекты в список, извлекая их и т. Д., Затем я запускаю сервер, используя
(setf *web-server* (start (make-instance 'hunchentoot:acceptor :port 8080)))
который отлично работает, и я могу получить к нему доступ на http://localhost:8080
. Однако, когда я обращаюсь к нему, журналы печатаются в REPL, и с этого момента я не могу фактически использовать REPL. Так, например, следуя сообщению Адама Петерсена, я не могу
(push (create-prefix-dispatcher "/retro-games.htm" 'retro-games) *dispatch-table*)
потому что REPL не отвечает. Я пробовал запускать сервер из разных окон (например, из SBCL в терминале), но потом он не знает, в каком контексте я нахожусь - он не понимает пакет, над которым я работаю, или какой-либо мой код.
Я использую немного нестандартную установку; Я использую OSX и использую Sublime Text 2 с SublimeREPL и SBCL (потому что я действительно не в Emacs, а ST2 великолепен!). Я описал, как я все это собрал здесь - но на самом деле я публикую это только на всякий случай, я был бы удивлен, если это моя установка вызывает проблемы, а не какие-то базовые вещи, которые мне не хватает .
В любом случае, я понимаю, что мог бы пойти дальше и настроить hunchentoot в более производственной среде, и видел несколько сообщений, подробно описывающих это и получающих удаленный доступ к REPL, но я надеялся, что будет что-то более простое, чтобы возиться с этим, я ' я только что пропустил.