簡體   English   中英

劣質lisp的劣勢如何?

[英]What's so inferior about inferior-lisp?

當我開始學習lisp,emacs和ess(Emacs Speaks Statistics)時,我遇到了這個劣質的概念 - 這個或那個。 例如,有一個劣質模式劣質lispInferior Emacs Lisp模式

在所有這些情況下,似乎某些解釋語言在emacs中運行,您可以在緩沖區內與它進行交互。 但為什么他們低劣,他們不如什么?

劣質模式是指作為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

另一種說法可能是“劣等”與此上下文中的前綴“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開發環境(調試器,檢查器,源定位器......)的功能:

  • ILISPInferior Lisp ),已經過時了
  • ELIEmacs-Lisp Interface ),來自Franz,Inc。的Allegro CL
  • SLIMEEmacs的高級Lisp交互模式

Emacs還有一個簡單的內置工具,用於運行劣質的LispExternal Lisp

  • inferior-ess-mode:控制R子進程
  • inferior-lisp:一個Lisp子進程
  • inferior-emacs-lisp-mode:內置的Emacs Lisp作為讀取eval打印循環

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM