2010-08-27 110 views
5

如何讓EMACS lisp解釋器使用LISP的Scheme方言。我正在通過SICP book,對EMACS來說是新手(剛學完導航和文件訪問命令)?Emacs Lisp的方案方言

+1

你是什麼意思?你的意思是在Emacs中運行一個解釋器?或者你的意思是使用Scheme來控制Emacs?第一個很容易,第二個不容易。 – 2010-08-31 18:55:42

回答

1

你沒有,至少不是直接。人們通常做的是產生一個計劃過程並直接與之溝通。

請參閱external-lisp有關如何操作的文檔以及Emacs Wiki page for Scheme

好吧,我有點不對,它好像有幾個人在Emacs Lisp之上寫了Scheme解釋器(參見上面的Wiki鏈接),雖然他們不是全功能的Schemes。

1

你不知道。 GNU Emacs LISP內置於GNU Emacs中,大部分GNU Emacs都是用GNU Emacs LISP編寫的。您不能在不大量破壞Emacs的情況下更改內置的LISP解釋器。

GNU/MIT Scheme包含Edwin編輯器,這是一種用Scheme編寫的Emacs編輯器。您可能可以使用它來代替GNU Emacs。

另一個人推薦的方案過程和與之溝通似乎是更好的主意。

13

要做SICP,您應該使用外部方案解釋器,因爲Emacs Lisp與Scheme不同,並且沒有在Emacs Lisp之上創建方案的正確實現。你應該使用外部方案解釋器的另一個原因是執行速度。

簡單的解決方法是使用PLT的計劃現在被稱爲Racket

  • 下載和球拍現場安裝方案。

  • 然後配置變量scheme-program-name爲值mzscheme

  • 最後運行命令run-scheme:它將運行的MzScheme加工成*scheme*緩衝器。

*scheme*緩衝器使用哪個定義了以下鍵inferior-scheme-mode主要模式:

抄送CK方案編譯文件

抄送方案-負載文件

C-XC-è方案 - 發送 - 最後SEXP

C-M-X方案,發送清晰度

7

傑羅姆的回答是開始一個良好的簡單方法。如果您計劃在SICP中進行較長時間的練習,我強烈建議您安裝Quack,這是一個Emacs包,它提供了格式化,編輯和運行Scheme代碼的許多有用功能。這是事實上的標準。

您仍然需要獨立安裝您喜歡的Scheme的方言(我也建議在這裏使用Racket),然後使用Emacs與它溝通。

This pagethis other page可能會幫助您設置和使用Emacs用於此目的的其他資源。