LISP有哪些种类?

LISP有哪些种类?,lisp,Lisp,LISP的不同种类有哪些?它们之间最显著的区别是什么 今天最流行的方言是:,和 Clojure网站对这三者进行了比较和对比。口齿不清的顽固分子倾向于选择CL或Scheme。Clojure是“炙手可热的新事物”,是Lisp和Java的混合体 CommonLisp和Scheme都有大量的实现可供选择。Clojure有两个:和 这是1993年关于Lisp历史的演讲的重演: 它显示了Lisp语言从一开始(大约1958年)到1993年的交织路径 自1993年以来,我认为出现了以下显著的发展:

LISP的不同种类有哪些?它们之间最显著的区别是什么

今天最流行的方言是:,和

Clojure网站对这三者进行了比较和对比。口齿不清的顽固分子倾向于选择CL或Scheme。Clojure是“炙手可热的新事物”,是Lisp和Java的混合体

CommonLisp和Scheme都有大量的实现可供选择。Clojure有两个:和


    • 这是1993年关于Lisp历史的演讲的重演:

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

      自1993年以来,我认为出现了以下显著的发展:

      • 1994年:ANSI通用Lisp标准,基于1990年的“通用Lisp语言,版本2”
      • 2007年:Clojure
      还有一些不太引人注目的发展,如Pico Lisp和New Lisp,但尚未得到广泛采用。本质上,每一个严肃的黑客和他的狗都在某个时候发展了自己的Lisp方言,或“Lisp散文”

      如今,有四种主要的Lisp变体在广泛使用:Common Lisp、Scheme、Emacs Lisp和Clojure

      从我的头顶上看,主要的区别是:

      • 动态范围与词汇范围:Scheme使用词汇范围,Emacs Lisp动态范围;公共Lisp默认使用词法范围,但允许动态范围声明。我认为Clojure也只使用词汇范围
      • 单独的函数和变量名称空间:Scheme和Clojure都使用一个名称空间,其他的都有单独的名称空间(这与下一个要点中的名称空间是正交的)
      • 包:Clojure从Java中分离名称空间,CommonLisp有一个复杂的包系统。Emacs Lisp没有。我对这个计划没有把握
      主要的lisp方言:

      • 公共口齿不清
      • 计划
      • Clojure
      小调口齿不清方言(有些可能已经死了):

      • 纽里斯普
      • 伊斯利普
      • 你的玩具“还没有”计划

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

      Qi是一个屡获殊荣的职能部门 基于20年的程序设计语言 提供以下优势的研发: 模式匹配,λ演算 一致性,可选惰性评估 和静态类型检查。它使用 要定义的后续演算符号 类型,并且具有最强大的类型 任何现有功能的系统 语言,包括ML和Haskell。气 包括一个完全集成的 函数式Prolog和一个内置的 编译器。气是免费的 个人和教育用途和运行 在公共Lisp下


      这里有一个,它可以很好地与更“传统”的Lisp进行比较。

      你是说最常用的方言吗?是的,谢谢(仍在研究我的答案)@fizzer+1我完全忘记了Emacs Lisp!我不打算把它包括在我的回答中,因为它不是一种通用语言。为什么每个人都大写“Lisp”?你可能想看看维基百科,了解这样的问题。@fizzer,这是因为Lisp几乎和FORTRAN一样古老。@SK logic:Lisp从20世纪80年代初开始拼写为“Lisp”,FORTRAN从1990年开始拼写为“FORTRAN”,太好了。到气的链接断了(然后我发现了,这很可惜)。@MasterMastic看一看。有一个类似于我在答案中链接的。我明天会更新答案。