Windows Scheme / Lisp实现

随着数以千计的LISP和Scheme的实现可用,我很难find正确的用于Windows开发的。 我在学校学习了这些语言,发现它们非常优雅,但是我似乎无法find一个适合开发代码而不是在学术环境中的实现。

什么是符合以下要求的计划或LISP实施?

编译为本地代码,而不是编译为C.

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

生成64位代码。

可以在不需要Cygwin的情况下在Windows中使用。

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

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

LispWorks和Allegro CL很棒,虽然它们不支持多个并发的Lisp线程。 目前LispWorks 6正在开发中,它将支持多个并发的Lisp线程。 请注意,例如,LispWorks目前可以在任何时候运行一个Lisp线程,但是多个外部线程。

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

我非常喜欢Clozure。 麻省理工学院计划将在Windows下运行,这对于初学者来说是一个不错的选择,因为它将最好地匹配The Book。

大的商业Common Lisp实现应该符合你所有的标准:

LispWorks和Allegro CL 。

一个相当完整,可用和免费的计划实施是Racket (以前称为PLT计划)。

免费的Clozure CL也可能适合您的需求。

Clozure CL正在被发布到32位和64位窗口。

我输入这个1.3版本是在RC1。

有一个提供的例子,通过FFI使用原生的Win32 API调用来显示一个传统的Win32窗口,完成消息循环等。

Hunchentoot网络服务器在当前版本上工作。

它支持Unicode,所以与'W'Win32 APis接口应该是直接的。

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

看起来像ECL缺失。 CL,在Windows,Linux和Mac上运行,支持所有平台上的本地线程,并允许创建二进制文件。

这是一个很好的描述如何在Windows XP上安装Emacs和Slime的Lisp:

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