18

有成千上万的 LISP 和 Scheme 实现可用,我很难找到合适的用于 Windows 开发的实现。我在学校学习了这些语言,发现它们非常优雅,但是,除了在学术环境中之外,我似乎无法找到适合开发代码的实现。

什么是具有以下要求的 Scheme 或 LISP 实现?

编译为本机代码,而不是编译为 C。

支持多处理器上的多线程(即多个线程可以同时运行)。

生成 64 位代码。

无需 Cygwin 即可在 Windows 中使用。

4

6 回答 6

12

Corman Lisp可能很有趣,但不支持 64 位代码 (AFAIK)。

Clozure CL刚刚移植到 Windows 上,所以它可能还不是很成熟,还缺少一些东西。

LispWorksAllegro CL很棒,尽管它们不支持多个并发 Lisp 线程。目前 LispWorks 6 正在开发中,它将支持多个并发的 Lisp 线程。但请注意,例如 LispWorks 当前可以在任何时候运行单个 Lisp 线程,但可以运行多个外部线程。

Dan Weinreb对 Common Lisp 实现进行了调查

于 2009-04-12T23:00:29.860 回答
5

大型商业 Common Lisp 实现应该满足您的所有标准:

LispWorksAllegro CL

一个相当完整、可用且免费的 Scheme 实现是Racket(以前称为 PLT Scheme)。

免费的Clozure CL也可能满足您的需求。

于 2009-04-12T21:54:39.690 回答
5

我非常喜欢 Clozure。MIT Scheme 将在 Windows 下运行,对于初学者来说它是一个不错的选择,因为它将与 The Book 最匹配。

于 2009-04-12T22:16:57.390 回答
3

Clozure CL 正在将其 1.3 版本移植到 32 位和 64 位窗口上。

当我键入此内容时,该 1.3 版本位于 RC1。

提供的示例通过 FFI 使用本机 Win32 API 调用来显示传统的 Win32 窗口,并带有消息循环等。

Hunchentoot 网络服务器适用于当前版本。

它支持 Unicode,因此与“W”Win32 API 的接口应该很简单。

它编译为本机代码,支持本机线程并且不需要 cygwin。

于 2009-04-13T12:06:50.077 回答
1

似乎缺少 ECL。这是一个非常好的 CL 实现,可以在 Windows、Linux 和 Mac 上运行,支持所有平台上的本地线程并允许创建二进制文件。

于 2009-04-13T09:43:44.027 回答
0

这是如何在 Windows XP 上使用 Emacs 和 Slime 安装 Lisp 的精彩描述:

http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/

于 2009-04-12T22:08:05.460 回答