Ben*_*rek 9 lisp emacs elisp ess
当我开始学习lisp,emacs和ess(Emacs Speaks Statistics)时,我遇到了这个劣质的概念 - 这个或那个.例如,有一个劣质模式,劣质lisp和Inferior Emacs Lisp模式.
在所有这些情况下,似乎某些解释语言在emacs中运行,您可以在缓冲区内与它进行交互.但为什么他们低劣,他们不如什么?
小智 13
劣质模式是指作为emacs的子过程运行的模式.
例如,当我启动emacs时,这是我的进程树:
$ pstree 62238
--= 62238 smt /usr/local/Cellar/emacs/HEAD/Emacs.app/Contents/MacOS/Emacs
Run Code Online (Sandbox Code Playgroud)
在我运行一个劣质的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
Run Code Online (Sandbox Code Playgroud)
另一种说法可能是"劣等"与此上下文中的前缀"sub-"同义.
我认为Inferior Emacs Lisp Mode(ielm)是一个错误的名称.这应该命名为Interactive Emacs Lisp Mode.使用ielm Emacs Lisp并不是作为一个劣等的Lisp运行.它是内置Emacs Lisp 的读取eval打印循环.GNU Emacs确实将它命名为Inferior Emacs Lisp Mode,但是如果你看一下这些来源,它会直接使用内置的Emacs Lisp eval来评估表达式.它只是重用了一些基础设施(comint)来处理劣质解释器(比如Lisps,shell,......).
通常,Inferior Lisp意味着它是一个受Emacs控制的(通常是外部的)Lisp系统.它也不需要是Emacs Lisp.通常它是一些其他Lisp方言,如Common Lisp.Common Lisp对Emacs和Common Lisp有几个扩展,因此它作为一个低级Lisp运行,具有很多Lisp开发环境(调试器,检查器,源定位器......)的功能:
Emacs还有一个简单的内置工具,用于运行劣质的Lisp:External Lisp.
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |