那里有哪些LISP?

时间:2011-03-07 21:49:59

标签: lisp

LISP有哪些不同的品种,它们之间最显着的差异是什么?

4 个答案:

答案 0 :(得分:3)

今天最受欢迎的方言有:Common LispSchemeClojure

Clojure网站对{3}进行了比较和对比。 Lisp顽固分子倾向于选择CL或Scheme。 Clojure是“热门新事物”,是Lisp和Java的混合体。

Common Lisp和Scheme都有大量的实现可供选择。 Clojure有两个:pageone for the JVM

答案 1 :(得分:3)

还有Mark Tarver博士的Qi,它至少在CL之上运行。 Qi向Lisp引入了函数语言(如ML和Haskell)的功能,例如一个非常强大(可选)的类型系统。引用网站:

  齐是一个屡获殊荣的功能   基于20年的编程语言   R& D提供的优势   模式匹配,λ演算   一致性,可选的懒惰评估   和静态类型检查。它用   后续的微积分表示法来定义   类型,并具有最强大的类型   任何现有功能的系统   语言,包括ML和Haskell。齐   包括一个完整的集成   功能性Prolog和内置   编译器编译器。齐是免费的   个人和教育用途和运行   在Common Lisp下。

有一个introduction for Lisp programmers,可以与更“传统”的Lisp进行比较。

答案 2 :(得分:0)

这是1993年关于Lisp历史的演讲的再现:

http://www.infoq.com/presentations/Lisp-Guy-Steele-Richard-Gabriel

它显示了Lisp语言从一开始(大约在1958年)到大约1993年之间的交织路径。

自1993年以来,我认为发生了以下显着的发展:

  • 1994:ANSI Common Lisp标准,基于1990年的“Common Lisp the Language,version 2”。
  • 2007:Clojure。

还有一些不太引人注目的发展,例如Pico Lisp和New Lisp,虽然没有得到广泛采用。从本质上讲,每个严肃的黑客和他的狗在某个时候都有自己的Lisp方言,或者“Lisp essay”。

今天,有四种主要的Lisp品种广泛流传:Common Lisp,Scheme,Emacs Lisp和Clojure。

主要区别在于,从我的头脑:

  • 动态与词汇范围:Scheme使用词法范围,Emacs Lisp动态范围; Common Lisp默认使用词法范围,但允许动态范围声明。我认为Clojure也只使用词法范围。
  • 单独的函数和变量名称空间:Scheme和Clojure为两者使用单个名称空间,其他名称空间为此(这与下一个项目符号中的名称空间正交)。
  • 包:Clojure从Java中分离命名空间,Common Lisp有一个精心设计的包系统。 Emacs Lisp没有。我不确定Scheme。

答案 3 :(得分:0)

主要的lisp方言:

  • Common Lisp
  • 方案
  • Clojure的

次要的lisp方言(有些可能已死):

  • 电弧
  • Newlisp
  • ISLISP
  • 你的玩具“还没有”计划
  • ...
相关问题