Emacs中Lisp的方案方言

时间:2010-08-27 15:54:31

标签: emacs lisp

如何让EMACS lisp解释器使用LISP的Scheme方言。我正在查看SICP book并且是EMACS的新手(刚刚学完导航和文件访问命令)?

5 个答案:

答案 0 :(得分:13)

要做SICP,你应该使用外部方案解释器,因为Emacs Lisp与Scheme不同,并且在Emacs Lisp之上没有创建方案的正确实现。你应该使用外部方案解释器的另一个原因是为了执行速度。

简单的解决方案是使用现在称为Racket的PLT方案:

  • 从Racket网站下载并安装方案。

  • 然后将变量scheme-program-name配置为值mzscheme

  • 最后运行命令run-scheme:它会将mzscheme进程运行到*scheme*缓冲区。

*scheme*缓冲区使用inferior-scheme-mode主要模式,该模式定义了以下键:

C-c C-k scheme-compile-file

C-c C-1 scheme-load-file

C-x C-e scheme-send-last-sexp

C-M-x scheme-send-definition

答案 1 :(得分:7)

杰罗姆的回答是一个很好的简单方法。如果您计划在SICP中进行更长时间的练习,我强烈建议安装Quack,这是一个Emacs包,它提供了许多有用的功能,用于格式化,编辑和运行Scheme代码。这是事实上的标准。

你仍然需要独立安装你喜欢的Scheme方言(我在这里也建议使用Racket),然后使用Emacs与它进行通信。

This pagethis other page可能会帮助您设置其他资源,以便为此目的设置和使用Emacs。

答案 2 :(得分:1)

你没有,至少不是直接的。人们通常做的是产生一个计划过程并直接与之沟通。

请参阅external-lisp文档,了解如何执行此操作,以及Emacs Wiki page for Scheme

好吧,我有点不对,看起来好像有几个人在Emacs Lisp之上编写了Scheme解释器(参见上面的Wiki链接),尽管它们不是完全特色的Schemes。

答案 3 :(得分:1)

你没有。 GNU Emacs LISP内置于GNU Emacs中,大部分GNU Emacs都是用GNU Emacs LISP编写的。如果不大规模破坏Emacs,则无法更改内置LISP解释器。

GNU / MIT Scheme包括Edwin编辑器,一个用Scheme编写的类似Emacs的编辑器。您可以使用它而不是GNU Emacs。

另一个人建议制定计划流程并与之沟通似乎是更好的主意。

答案 4 :(得分:1)

我发现使用M-x运行方案在Emacs中使用MIT方案最简单 - 有关设置的说明如下:

http://praveen.kumar.in/2011/03/06/gnu-emacs-and-mit-scheme-on-mac-os-x/