6

我对Scheme有点熟悉。我正在阅读 OnLisp,并且很想在其中做一个真实世界的项目。最有可能的网络开发。我很想知道人们使用什么样的设置来开发 lisp 网站。我家里有几台mac,我想我会使用clozure cl。不过,我对一些事情保持警惕。我在互联网上读到 cl 没有可靠的线程设施,也没有良好的网络。这是真的?你的经历是什么?

PS:不要告诉我关于clojure :)。Lisp 是我需要抓挠的痒。

4

4 回答 4

8

目前我正在使用Restas一个基于HunchentootRails 路由系统并受其启发的框架。我还使用Postmodern与数据库交互,并使用cl-markupPostgreSQL生成 HTML,尽管我正在考虑切换到看起来更可定制的cl-who 。

当我开始时,我也考虑过使用Parenscript来生成,JavaScript但现在我对Mootools和 plain很满意JavaScript

一切都在 SBCL 上运行,并且可用于 Quicklisp。

于 2012-05-08T12:12:01.107 回答
6

不知道为什么它没有“良好的网络”;如果您想编写可移植的 Common Lisp 应用程序,则不能依赖线程,因为某些实现不支持它们(AFAIK,只是clisp,尽管您可以使用实验性线程支持来编译它)。如果你打算选择一个实现并坚持下去,你就不会有这个问题。

“标准” CL Web 堆栈是Hunchentoot / cl-who / clsql,尽管您可以找到在AraneidaPortable AllegroServe上运行的教程。

我使用的设置是运行quicklisp的Debian / SBCL和上述系统以及 MySQL(尽管我正在认真考虑跳到Postgres),以便数据库和nginx在 Hunchentoot 前面运行,以提供任何静态内容。

于 2012-05-08T02:19:48.750 回答
3

mck-一直在维护heroku common lisp webapp。

https://github.com/mck-/heroku-cl-example/tree/

于 2012-05-08T05:11:09.093 回答
2

Common Lisp 的“网络”的问题是,我们在 CL 标准中没有套接字,所以每个实现都有自己的套接字 API。不过,我们尝试了一些提供通用接口的尝试,例如usocket. 您可以在此处找到与网络相关的软件包列表。

如果您需要 Web 框架,请查看Caveman。我还没有使用它,但它看起来是我见过的最完整的 CL Web 框架。

于 2012-05-08T05:49:46.380 回答