87

我正在寻找一个版本的 Scheme 甚至是 LISP,我可以用它来恢复一些丢失的 Lisp 开发技能。一些网络功能会很好,但不是必不可少的。

我看过 Plt 和 MIT 方案,虽然两者看起来都不错,但 Plt 似乎功能更丰富。我还查看了 Lisp 实现,但所有这些似乎都非常昂贵。

我喜欢免费/廉价的实现,因为这很可能只是偶尔的爱好编程。你会有什么建议?

4

15 回答 15

72

我会选择Racket。它可能没有 SBCL 快,但它确实具有出色的库和文档,以及旨在让您立即开发和运行 Scheme 程序的集成环境。我真正喜欢 Racket 的 IDE DrRacket 的地方在于,您无需学习 Emacs,您无需学习 SLIME,您不必担心寻找第三者-派对库,因为几乎所有用于 Racket 的库都可以在packages中找到。总而言之,它确实缩短了学习曲线,让您可以专注于手头的实际任务:编写出色的代码。

此外,如果您想制作由 Racket 驱动的网站(我目前正在研究),它还带有一个Web 服务器。

于 2009-01-19T22:09:13.523 回答
22

我对此做了很多实验。

Clozure Common Lisp(née Open MCL)是迄今为止最快的;在我的英特尔 Mac Mini 上比下一个竞争对手快 25-30%。

MIT Scheme在 Mac 上运行得非常好。我想我最终自己编译了它,但是那个站点上有二进制文件。PLT Scheme 也不错,并且可能更好地集成到 Mac 世界中。(PLT 方案现在称为Racket,但更改后我没有尝试过它。)

于 2009-01-19T22:13:07.917 回答
16

我是 Clojure、SBCL 和 Clozure CL 的忠实粉丝。它们都很棒,但如果你只想刷新你的 Lisping 排骨,它们也太过分了。它们都需要大量的信息搜索、邮件列表搜索、软件包安装、irc 潜伏等。

Dr Scheme 只是安装并运行。四年半前,我使用 Dr Scheme 完成了 SICP 的前 3 章。没有什么比定义 Scheme 评估器本身更深刻的了。一旦你明白这一点,你就会对工业实力的兄弟们有更多的耐心。

于 2009-01-20T02:21:11.160 回答
16

对于 Scheme,DrRacket很棒(包含在Racket中)。

对于 Common Lisp,Ready Lisp非常棒。带有 SBCL、Aquamacs 和 Slime 的单一 dmg 开箱即用。

从网站:

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
于 2009-01-27T10:42:02.820 回答
5

我刚开始玩Clojure。它显然有一个不错的web 框架,并编译为 JVM 字节码。

我也经常使用DrScheme。这是一个简单但有用的 IDE。

于 2009-01-19T22:33:13.913 回答
5

根据您定义“Lisp”的方式,Clojure可能符合要求。它在 OS X 上运行良好(它在 JVM 运行的任何地方运行)。它具有网络功能并且是免费的。

它还具有新颖、新鲜和有趣的优点。可能是爱好编程的理想选择。编写 Web 应用程序或 GUI 应用程序(使用 Java 的 Swing 甚至 Qt)很容易。

于 2009-01-19T22:33:26.767 回答
4

我自己没有使用过,但Steel Bank Common Lisp在 reddit 上获得了一些好评。它是开源和免费的,因此价格适合一些爱好编程。

过去,我在我的 macbook pro 上运行过GNU Common Lisp 。

于 2009-01-19T22:03:27.733 回答
4

如果您正在寻找 Scheme,可以查看刚刚发布的JazzScheme

于 2009-01-27T10:22:15.090 回答
4

我确实向新手推荐 Racket,因为它为 Scheme 初学者(或者更确切地说,恰好是使用 Scheme 的编程初学者,或者更好的是,通过 HtDP 工作)提供了最好的 IDE 之一。

http://racket-lang.org/

对于那些对小型 Scheme 系统更感兴趣以便自己修改或阅读其源代码的人来说,另一种选择是 Larceny Scheme,它之所以有趣主要是因为它的 JIT 编译器 Twobit 本身完全在 Scheme 中实现。

http://www.larcenists.org/


更新:另外,Chez Scheme 最近开源了:

https://github.com/cisco/ChezScheme

(它可能不像 Larceny 那样“小”,但它有一个非常积极的优化编译器。)

于 2013-01-07T21:15:25.420 回答
3

您可能想查看Lisp 用户协会Common Lisp Wiki上的内容以了解其中的内容。我为自己设置了 Steel Bank Common Lisp 和 Emacs,但到目前为止还没有做任何事情。

于 2009-01-19T22:16:33.680 回答
2

如果你只是爱好编程,LispWorks 有一个免费的个人版本,它非常强大和复杂。最大的问题是几个小时的运行时间限制。因此,您不会在其中编写任何长时间运行的服务器,但这并不意味着它不是一个有用的工具。

CLISP 可以在大多数东西上运行,实际上非常好,它只是不做线程。(如果您想编写一个实际的服务器,这很重要,但正如 PHP 和 Perl 向我们展示的那样,Apache + [插入语言] 是一个非常可行的平台。)

于 2009-01-19T22:12:13.067 回答
2

Clozure CL可从 mac 商店免费获得!

http://itunes.apple.com/us/app/clozure-cl/id489900618

于 2012-04-21T13:10:46.220 回答
2

我发现Chicken适用于 Scheme 并且可以通过 homebrew 获得。

brew install chicken

SICP 中的大部分代码只需稍作修改即可工作。

于 2017-11-14T02:23:58.877 回答
1

我最近一直在问自己同样的问题。在 OS X 上使用 DrScheme 后,它将是我在任何平台上的 Scheme 分发的首选。非常好的 IDE、调试功能和一组好的库/框架(包括一个非常好的 GUI 工具包,“即使在 Mac 上也能正常工作”;-))

然而,我现在正在为 Common Lisp 寻找一个同样舒适的环境。它归结为 CCL (OpenMCL) 与 SBCL。SBCL 似乎是流行的选择,但我在 OS X 上读到不支持线程。(这真的是一个问题吗?)。另一方面,Clozure CL 拥有对原生线程、obj-bridge 等的良好支持……

我发现 CCL 有点奇怪,但我会坚持一段时间 - 它看起来仍然是集成的合乎逻辑的选择。

我使用 Emacs 23(使用 --with-ns 从源代码构建)和 Slime 作为环境,这对我来说效果很好。:-)

于 2009-05-19T19:27:07.033 回答
0

球拍一起去。我很高兴!

于 2018-07-02T13:58:47.287 回答