没有Emacs的Lisp / Scheme解释器?

时间:2008-08-13 11:06:13

标签: lisp scheme

我一直想教自己Lisp一段时间。但是,我听过的所有解释器都涉及到一些emacs。 是否有任何命令行解释器,以便我可以在命令行中输入:

  

lispinterpret sourcefile.lisp

就像我可以运行perl或python一样。

虽然我也想更熟悉Emacs(如果我与使用Emacs的人合作时不会感到沮丧),我宁愿将学习Emacs与学习Lisp分开。

编辑:我实际上想要关注使用Scheme的SICP,所以关于Scheme的答案会更有用。我对这些差异并不熟悉。

12 个答案:

答案 0 :(得分:13)

你也可以试试DrScheme,虽然不是一个独立的解释器,但不是emacs:)

它基本上是一个简单的IDE,其中包含一个可以作为文件执行的代码区域,然后是另一个可以与之交互的正在运行的解释器区域。

(另外,找到加州大学伯克利分校CS61A播客并听取他们的意见,以及阅读SICP)

答案 1 :(得分:7)

看起来Steel Bank Common Lisp(SBCL)也满足您的需求:

http://www.sbcl.org/manual/#Shebang-Scripts

SBCL既是最优惠的也是开源的。

答案 2 :(得分:6)

结帐CLISP wiki-link即ie。由Paul Graham使用

直接link

答案 3 :(得分:5)

我经常编写以这行开头的lisp shell脚本:

#!的/ usr / bin中/ CLISP

然后您甚至不需要在命令行上键入“lispinterpret”。只需标记脚本可执行文件并直接运行即可。

答案 4 :(得分:4)

我熟悉的大多数方案解释器都可以从命令行运行。 (以下列表中的大部分摘自Alexey Radul的Scheme Implementation Choices页面的比较表。schemewiki上有一个更广泛的列表,但该页面不会立即提供命令行调用语法。)

以下是在命令行中运行大量实现的方法:

答案 5 :(得分:3)

如果您正在寻找与SICP合作的Scheme,请查看麻省理工学院/ GNU计划

http://groups.csail.mit.edu/mac/projects/scheme/

http://www.gnu.org/software/mit-scheme/index.html

答案 6 :(得分:2)

最常用的Common Lisp IDE,特别是在社区的自由软件子集中,实际上是SLIME,它运行在Emacs上。您可以使用您喜欢的任何CL编译器,并按照您描述的方式调用Lisp源文件,但如果您这样做,您将无法利用许多在开发应用程序时非常有用的Lisps动态功能。

我建议你看看这个SLIME demonstration video来看看我的意思,即使它在这一点上可能有点过时了。

如果问题是你(想你)不喜欢Emacs,我认真建议你尝试学习它。认真。不,我的意思是。但是,还有其他选择,例如商业Lisp实现提供的IDE,例如AllegroLispworks(可用免费试用版),或称为Cusp的Eclipse插件。

答案 7 :(得分:1)

@Nathan:我已经修改了Common Lisp链接,因为你询问了Lisp(特别是参考了Emacs Lisp)。但是,Common Lisp与Scheme非常不同。为一个人编写的程序不太可能在另一个程序上运行。

正如你所提到的,SICP用于学习Scheme,而不是Lisp(或者至少不是Common Lisp而不是Emacs Lisp)。原则上有一些重叠,但是你不能简单地从SICP剪切和粘贴代码,并期望它在任何Common Lisp或Emacs Lisp系统上运行。 : - )

答案 8 :(得分:1)

没有“解释器”需要emacs。

此外,emacs可以无头方式运行elisp。

答案 9 :(得分:1)

您是否尝试过来自http://www.franz.com/的Allegro CL?

答案 10 :(得分:1)

似乎方案外壳适合您的目的。 看看http://www.scsh.net/index.html

答案 11 :(得分:0)

另一种好的方言是cmucl。他们曾经喜欢吹嘘成为“最快”的口齿不清。