随着数以千计的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/