Lisp是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。现今第二悠久而仍广泛使用的高端编程语言。只有FORTRAN编程语言比它更早一年。
Lisp 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。起源于公元 1958 年,是现今第二悠久而仍广泛使用的高端编程语言。只有 FORTRAN 编程语言比它更早一年。Lisp 编程语族已经演变出许多种方言。现代最著名的通用编程语种是 Clojure、Common Lisp 和 Scheme。
Lisp 最初创建时受到阿隆佐·邱奇的 lambda 演算的影响,用来作为计算机程序实用的数学表达。因为是早期的高端编程语言之一,它很快成为人工智能研究中最受欢迎的编程语言。在计算机科学领域,Lisp 开创了许多先驱概念,包括:树结构、自动存储器管理、动态类型、条件表达式、高端函数、递归、自主(self-hosting)编译器、读取﹣求值﹣输出循环(英语:Read-Eval-Print Loop,REPL)。
“LISP”名称源自“列表处理器”(英语:LISt Processor)的缩写。列表是 Lisp 的主要数据结构之一,Lisp 编程代码也同样由列表组成。因此,Lisp 程序可以把源代码当作数据结构进行操作,而使用其中的宏系统,开发人员可将自己定义的新语法或领域专用的语言,嵌入在 Lisp 编程中。
代码和数据的可互换性为 Lisp 提供了立即可识别的语法。所有的 Lisp 程序代码都写为 S-表达式或以括号表示的列表。函数调用或语义形式也同样写成列表,首先是函数或操作符的名称,然后接着是一或多个参数:例如,取三个参数的函数 f 即为(f arg1 arg2 arg3)。
Lisp 语言的主要现代版本包括 Common Lisp, Scheme,Racket 以及 Clojure。1980 年代盖伊·史提尔二世编写了 Common Lisp 试图进行标准化,这个标准被大多数解释器和编译器所接受。还有一种是编辑器 Emacs 所派生出来的 Emacs Lisp(而 Emacs 正是用 Lisp 作为扩展语言进行功能扩展)非常流行,并创建了自己的标准。
Lisp 是第一个函数式程序语言,区别于 C 语言、Fortran 等命令型程序语言和 Java、C#、Objective-C 等面向对象程序语言。由于历史的原因,Lisp 长期以来被认为主要用于人工智能领域,但 Lisp 并不是只为人工智能而设计,而是一种通用的程序语言。