2010-08-27 201 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用于此目的的其他资源。