我正在寻找一个版本的Scheme甚至LISP,我可以用来恢复一些失去的Lisp开发技巧。一些Web功能会很好,但不是必需的。
我看过Plt和MIT方案,虽然两者看起来都不错,但Plt似乎功能更丰富。我也看过Lisp实现,但所有这些看起来都很昂贵。
我赞成免费/廉价的实现,因为这可能只是偶尔的业余爱好编程。你有什么建议?
答案 0 :(得分:71)
我会选择Racket。它可能没有SBCL那么快,但它确实拥有出色的库和文档,以及一个旨在让您开发和运行Scheme程序的集成环境。我非常喜欢Racket的IDE,DrRacket,你不需要做什么 - 你不需要学习Emacs,你不必学习SLIME,你不必担心追捕第三个 - 派对图书馆,因为几乎所有针对Racket的图书馆都可以在packages中找到。总而言之,它确实减少了学习曲线,让您专注于手头的实际任务:编写出色的代码。
此外,如果您想制作以球拍为主导的网站(我目前正在调查),它会附带一个web server。
答案 1 :(得分:22)
我做了很多尝试。
Clozure Common Lisp(开放式MCL)是迄今为止最快的;比我的英特尔Mac Mini上的下一个竞争对手快25-30%。
MIT Scheme在Mac上运行得非常好。我想我最终自己编译了它,但该网站上有二进制文件。 PLT Scheme也很不错,可能会更好地集成到Mac世界中。 (PLT计划现在称为Racket,但我在改变后没有尝试过。)
答案 2 :(得分:15)
我是Clojure,SBCL和Clozure CL的粉丝。它们都太棒了,但是如果你想要做的就是刷新你的Lisping排骨,它们也是过度杀戮。它们都需要荒谬的信息搜索,邮件列表搜索,软件包安装,irc潜伏等。
Scheme博士只是安装并运行。四年半前,我使用Dr博士完成了SICP的前三章。没有比定义Scheme评估器本身更深刻的了。一旦你了解了这一点,你就会对工业实力的弟兄们有更多的耐心。
答案 3 :(得分:15)
对于Scheme,DrRacket非常棒(包含在Racket中)。
对于Common Lisp,Ready Lisp很棒。使用SBCL,Aquamacs和Slime的单剂量开箱即用。
来自网站:
Ready Lisp是几个流行的Common Lisp软件包的绑定,特别是对于Mac OS X,包括:Aquamacs,SBCL和SLIME。下载完成后,您将拥有一个可以双击的应用程序包 - 并找到一个完全配置的Common Lisp REPL。
对于希望以最少的麻烦尝试Common Lisp之美的OS X用户来说,它是理想的选择。它也可以被教师用来给他们的Mac学生一个免费的,完整的Common Lisp环境带回家。 要求
Ready Lisp的当前版本是20090127,需要Mac OS X 10.5(Leopard)。
它包括以下组件软件版本:
Aquamacs 1.6 SBCL 1.0.24 SLIME 2009-01-23 CL-FAD 0.6.2 CL-PPCRE 2.0.1 LOCAL-TIME 0.9.3 SERIES 2.2.10 CL HyperSpec 7.0 paredit.el 20 redshank.el 1 cldoc.el 1.16
答案 4 :(得分:5)
我刚开始玩Clojure。它显然有一个很好的web framework,并编译为JVM字节码。
我也非常使用DrScheme。这是一个简单但有用的IDE。
答案 5 :(得分:5)
根据您定义“Lisp”的方式,Clojure可能符合要求。它在OS X上运行良好(它运行在JVM运行的任何地方)。它具有网络功能,而且是免费的。
它还具有新颖,有趣的优点。可能是爱好编程的理想选择。编写Web应用程序或GUI应用程序很容易(使用Java的Swing甚至是Qt)。
答案 6 :(得分:4)
我自己没有使用它,但Steel Bank Common Lisp在reddit上收到了一些有利的嗡嗡声。它是开源的,免费的,所以价格适合一些爱好编程。
过去,我已经在我的macbook pro上运行了GNU Common Lisp。
答案 7 :(得分:4)
如果您正在寻找Scheme,您可以查看刚刚发布的 JazzScheme 。
答案 8 :(得分:4)
我确实向新手推荐了Racket,因为它为Scheme初学者提供了最好的IDE之一(或者更确切地说,编程初学者恰好使用Scheme,或者更好的是,通过HtDP工作)。
对于那些对小型Scheme系统更感兴趣以便自己修改或阅读其源代码的人来说,另一个选择是Larceny Scheme,这很有意义,因为它的JIT编译器Twobit本身完全是在方案
更新:此外,Chez Scheme最近已开源:
https://github.com/cisco/ChezScheme
(它可能不像Larceny那样“小”,但它有一个非常积极的优化编译器。)
答案 9 :(得分:3)
您可能希望查看the Association of Lisp Users或the Common Lisp Wiki处的内容,了解其中的内容。我为自己设置了Steel Bank Common Lisp和Emacs,但到目前为止还没有做到这一点。
答案 10 :(得分:2)
如果你只是爱好编程,LispWorks有一个非常强大和复杂的免费个人版本。最大的问题是运行时间限制为几个小时。因此,您不会在其中编写任何长时间运行的服务器,但这并不意味着它不是一个有用的工具。
CLISP运行在大多数东西上,实际上非常好,它只是不做线程。 (重要的是,如果你想编写一个实际的服务器,但正如PHP和Perl向我们展示的那样,Apache + [插入语言]是一个非常可行的平台。)
答案 11 :(得分:2)
答案 12 :(得分:1)
我最近一直在问自己同样的问题。在OS X上使用DrScheme后,它将成为我在任何平台上进行Scheme分发的首选。非常好的IDE,调试功能和一套很好的库/框架(包括一个非常好的GUI工具包'只适用于Mac ...... ;-))
但是,我现在正在为Common Lisp寻找一个同样舒适的环境。它归结为CCL(OpenMCL)与SBCL。 SBCL似乎是受欢迎的选择,但我读到OS X上不支持线程。 (这真的是一个问题吗?)。另一方面,Clozure CL对本机线程,obcj-bridge等提供了很好的支持......
我发现CCL有点奇怪,但我会坚持一段时间 - 它看起来仍然是整合的合理选择。
我使用Emacs 23(使用--with-ns从源代码构建)和Slime作为环境,这对我很有用。 : - )
答案 13 :(得分:1)
答案 14 :(得分:1)
继续使用Racket。我对此非常满意!