我想學習lisp語言,因爲我的編輯器是emacs,所以我更喜歡emacs lisp。Emacs Lisp和Common Lisp之間的主要區別是什麼?
誰能給我一些建議,學習口齒不清,的Emacs Lisp,或Common Lisp的?
這兩者之間的主要區別是什麼?
我想學習lisp語言,因爲我的編輯器是emacs,所以我更喜歡emacs lisp。Emacs Lisp和Common Lisp之間的主要區別是什麼?
誰能給我一些建議,學習口齒不清,的Emacs Lisp,或Common Lisp的?
這兩者之間的主要區別是什麼?
有相當多的交叉,特別是在入門級的水平,所以無論你開始將主要轉移到其他。
一些主要區別:
elisp的傳統使用的動態範圍的規則; Common Lisp使用詞法範圍規則。通過動態範圍設定,函數可以訪問在調用函數中聲明的局部變量,並且通常不受歡迎。 Emacs有一個模擬詞法範圍的lexical-let
表單,最近版本的emacs允許逐個功能地選擇詞法範圍。
elisp的沒有關閉,這使得合成功能和譁衆取寵困難。有一個apply-partially
函數,其功能類似於柯里化。請注意,Emacs 24中引入的lexical-let
表單可以通過詞彙範圍界定產生閉包。
多,已經建立起來的時候Common Lisp的庫不提供elisp的。一個子集是由elisp的cl
包
的elisp沒有做尾調用優化提供。
這些Emacs的維基網頁提供有關這兩個的Lisp和分歧的關係的一些信息:
從這裏開始:HTTP ://en.wikipedia.org/wiki/Elisp它在底部有一些很好的鏈接。 – aartist
如果你想學習emacs的Lisp - 學習Emacs Lisp。如果你想開發真正的應用程序,更好地學習Common Lisp甚至Clojure。 – alexurba
相關:http://stackoverflow.com/questions/3840443/how-to-go-about-learning-common-lisp-and-emacs-lisp –