没有Emacs的Lisp/Scheme解释器?
我一直想自学口齿不清有一段时间了。然而,我听到的所有口译员都涉及到一些emacs风格。 是否有任何命令行解释器,以便我可以在命令行中键入: lispinterpret sourcefile.lisp 就像我可以运行perl或python一样 虽然我也希望更加熟悉Emacs(如果我不想在与使用Emacs的人一起工作时感到沮丧的话),但我宁愿将学习Emacs与学习Lisp分离 编辑:我实际上想了解使用Scheme的SICP,所以关于Scheme的答案会更有用。我只是不太熟悉它们之间的区别。保罗·格雷厄姆使用的Checkout CLISP没有Emacs的Lisp/Scheme解释器?,lisp,scheme,Lisp,Scheme,我一直想自学口齿不清有一段时间了。然而,我听到的所有口译员都涉及到一些emacs风格。 是否有任何命令行解释器,以便我可以在命令行中键入: lispinterpret sourcefile.lisp 就像我可以运行perl或python一样 虽然我也希望更加熟悉Emacs(如果我不想在与使用Emacs的人一起工作时感到沮丧的话),但我宁愿将学习Emacs与学习Lisp分离 编辑:我实际上想了解使用Scheme的SICP,所以关于Scheme的答案会更有用。我只是不太熟悉它们之间的区别。保罗·格雷
Direct您尝试过Allegro CL吗?您也可以尝试,它虽然不是一个独立的解释器,但不是emacs:) 它基本上是一个简单的IDE,有一个区域可以输入可以作为文件执行的代码,然后是另一个可以与之交互的运行解释器区域
(另外,请查找加州大学伯克利分校CS61A播客并收听,同时阅读SICP)看起来Steel Bank Common Lisp(SBCL)也满足了您的需求:
SBCL是一流的开源软件。@Nathan:我已经升级了常见的Lisp链接,因为您询问了Lisp(特别是关于Emacs Lisp的)。然而,公共Lisp和Scheme有很大的不同。为其中一个编写的程序不太可能在另一个上运行
正如您所提到的,SICP用于学习方案,而不是Lisp(或者至少不是通用Lisp,也不是Emacs Lisp)。原则上有一些重叠,但是您不能简单地从SICP剪切和粘贴代码,并期望它在任何常见的Lisp或Emacs Lisp系统上运行。:-) lisp的另一个好方言是。他们过去喜欢吹嘘自己是“最快”的lisp。公共lisp最广泛使用的IDE,特别是在社区的自由软件子集中,实际上是在Emacs上运行的。您可以使用您喜欢的任何CL编译器,并按照您描述的方式调用Lisp源文件,但如果这样做,您将无法利用在开发应用程序时非常有用的许多Lisp动态特性 我建议你看看这个,看看我的意思,尽管在这一点上可能有点过时
如果问题是你(认为你)不喜欢Emacs,我郑重建议你尝试学习它。认真地不,真的,我是认真的。但是,也有替代方案,例如由商业Lisp实现(如and)提供的IDE(可免费试用),或者一个名为的Eclipse插件 我经常编写以以下行开头的lisp shell脚本: #!/usr/bin/clisp 然后,您甚至不需要在命令行中键入“lispinterpret”。只需将脚本标记为可执行文件并直接运行即可。任何“解释器”都不需要emacs
此外,emacs可以无头运行elisp。如果您正在寻找与SICP一起工作的方案,请查看MIT/GNU方案
看来scheme shell适合您的目的。
看看我熟悉的大多数方案解释器都可以从命令行运行。(下面的列表大部分是从Alexey Radul页面上的比较表中提取的。上有一个更广泛的列表,但该页面没有立即提供命令行调用语法。) 以下是如何在命令行上运行多个实现:
- :
,方案
小
- :
mit方案
- :
scheme48
- :
rs
- :
(但我建议尝试drracketide,特别是对于初学者。)racket
- :
guile
- :
bigloo
- :
csi
- :
gsi
- :
gosh
- :
IronScheme.Console
- :
,kawa
java-kawa.repl
- :
盗窃罪
- :
scm
rlwrap
运行它)。您的读线设置(~/.inputrc文件)将生效,因此如果您想使用,您甚至可以使用readline的vi模式。