Emacs中Lisp的方案方言

Rus*_*s W 5 lisp emacs

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

Jér*_*dix 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 方案编译文件

C-c C-l 方案加载文件

C-x C-e 方案 - 发送 - 最后SEXP

C-M-x 方案 - 发送定义


mqp*_*mqp 7

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

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

此页面此其他页面可能会帮助您使用其他资源来设置和使用Emacs.


Tre*_*son 1

你不知道,至少不直接知道。人们通常做的是生成一个方案进程并直接与之通信。

有关如何执行此操作的信息,请参阅external-lisp文档,以及方案的 Emacs Wiki 页面

好吧,我有点错了,看起来好像有几个人在 Emacs Lisp 之上编写了Scheme 解释器(请参阅上面的 Wiki 链接),尽管它们不是功能齐全的Scheme。