inferior-lisp 有什么不好?

问题描述 投票:0回答:2

当我开始学习 lisp、emacs 和 ess(Emacs 讲统计)时,我遇到了“劣等这个或那个”的概念。例如,有 inferior-ess-modeinferior-lispInferior Emacs Lisp Mode

在所有这些情况下,似乎某种解释性语言正在 emacs 中运行,并且您可以在缓冲区内与其交互。 但是他们为什么不如,比什么差?

emacs lisp elisp ess
2个回答
13
投票

劣等模式是指作为 emacs 子进程运行的模式。

例如,这是我启动 emacs 时的进程树:

$ pstree 62238
--= 62238 smt /usr/local/Cellar/emacs/HEAD/Emacs.app/Contents/MacOS/Emacs

运行劣质 tcl shell 后,我的进程树如下所示:

$ pstree 62238
-+= 62238 smt /usr/local/Cellar/emacs/HEAD/Emacs.app/Contents/MacOS/Emacs
 \-+= 62359 smt /bin/sh /usr/bin/wish
   \--- 62361 smt /usr/bin/../../System/Library/Frameworks/Tk.framework/Version

另一种说法可能是,在这种情况下,“劣等”与前缀“亚”同义。


8
投票

我认为“劣质 Emacs Lisp 模式”(ielm)是一个错误的名称。这应该被命名为“Interactive Emacs Lisp Mode”。有了 ielm,Emacs Lisp 就不会以劣等 Lisp 的方式运行了。这是内置 Emacs Lisp 的 read eval print 循环。 GNU Emacs 实际上将其命名为“Inferior Emacs Lisp Mode”,但如果您查看源代码,它会直接使用内置的 Emacs Lisp eval 来计算表达式。它只是重用一些基础设施(comint)来处理劣等解释器(如 Lisps、shell 等)。

一般来说,劣质 Lisp 意味着它是一个受 Emacs 控制的(通常是外部的)Lisp 系统。它也不需要是 Emacs Lisp。通常它是其他 Lisp 方言,例如 Common Lisp。 Common Lisp 对 Emacs 和 Common Lisp 有多个扩展,因此它作为一个劣质 Lisp 运行,具有 Lisp 开发环境的许多功能(调试器、检查器、源定位器……):

ILISP劣质 Lisp

),已过时

inferior-ess-mode:控制 R 子进程 inferior-lisp:Lisp 子进程

inferior-emacs-lisp-mode:内置 Emacs Lisp 作为
    read eval print 循环
© www.soinside.com 2019 - 2024. All rights reserved.