2008-08-13 124 views
14

我一直想教自己Lisp一段時間。但是,我聽說的所有解釋器都涉及emacs的一些風格。 是否有任何命令行解釋器,這樣我可以輸入到這個命令行:沒有Emacs的Lisp/Scheme解釋器?

lispinterpret sourcefile.lisp

就像我可以運行Perl或Python。雖然我也想更熟悉Emacs(如果在與使用Emacs的人一起工作時不會感到沮喪),我寧願將學習Emacs與學習Lisp分離開來。

編輯:我其實想跟隨使用Scheme的SICP,所以關於Scheme的回答會更有用。我只是不太瞭解這些差異。

回答

6

結帳CLISP wiki-link即,即。使用由保羅·格雷厄姆

直接link

+0

CLISP是交互使用特別好「即」。你的意思是「即時」:表示「id est」(英文:「是」)。我認爲你想說「例如」 (舉例來說)。 – dsm 2008-09-20 09:42:56

+3

如果編譯3210 – Svante 2008-11-24 15:14:18

1

你從http://www.franz.com/嘗試快板CL?

+0

在$ 599?花一點時間學習,不是嗎? – crashmstr 2008-10-10 18:57:58

+1

@crashmstr:快板有一個免費試用版,如果你想學習這種語言,應該是完全足夠。 – Pillsy 2009-09-17 13:51:47

13

您也可以嘗試DrScheme,這雖然不完全是一個獨立的解釋,是不是emacs的:)

它基本上是一個簡單的IDE,它有一個區域中鍵入可作爲文件被執行的代碼,並然後是另一個可以與之交互的正在運行的解釋器。

(另外,發現加州大學伯克利分校CS61A播客和聽他們的,以及閱讀SICP)

+1

如果您正在使用PLT與SICP: http://www.neilvandyke.org/sicp-plt/ – 2009-10-21 16:30:38

1

@Nathan:我修改了Common Lisp鏈接,因爲你問了Lisp(尤其是參考Emacs Lisp)。但是,Common Lisp與Scheme很不相同。爲其中一個編寫的程序不太可能運行。

正如您所提到的,SICP用於學習Scheme,而不是Lisp(或者至少不是Common Lisp而不是Emacs Lisp)。原則上存在一些重疊,但是您不能簡單地剪切和粘貼SICP中的代碼,並期望它可以在任何Common Lisp或Emacs Lisp系統上運行。 :-)

0

lisp的另一個好方言是cmucl。他們過去喜歡吹噓自己是「最快」的口齒伶俐。

2

Common Lisp使用最廣泛的IDE,特別是在社區的自由軟件子集中,實際上是SLIME,它運行在Emacs上。您可以使用您喜歡的任何CL編譯器,並按照您描述的方式調用Lisp源文件,但如果這樣做,則不會利用許多在開發應用程序時非常有用的Lisp動態功能。

我建議你看看SLIME demonstration video來看看我的意思,儘管在這一點上它可能有點過時了。

如果問題是你(認爲你)不喜歡Emacs,我認真建議你嘗試去學習它。認真。不,我的意思是。但是,還有其他選擇,例如由商業Lisp實現提供的IDE,例如AllegroLispworks(免費試用版),或者稱爲Cusp的Eclipse插件。

5

我經常寫與這條線開始口齒不清shell腳本:

#在/ usr/bin中/ CLISP

然後,你甚至都不需要輸入「lispinterpret」的命令行。只需標記腳本可執行文件並直接運行即可。

1

沒有「解釋器」需要emacs。

此外,emacs可以以無頭方式運行elisp。

4

大多數我熟悉的方案解釋器都可以從命令行運行。 (以下列表中的大部分是從Alexey Radul的Scheme Implementation Choices頁面的比較表中提取的,還有一個更廣泛的列表schemewiki,但該頁面並不立即提供命令行調用語法)。在命令行實現的:

當ncurses的支持(TAB完成的bash風格)從hyperspec文檔的抓取等