LISP是什么语言

子凡 问答 2019-08-21 09:29:17 阅读(...)

Lisp是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。现今第二悠久而仍广泛使用的高端编程语言。只有FORTRAN编程语言比它更早一年。

Lisp 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。起源于公元 1958 年,是现今第二悠久而仍广泛使用的高端编程语言。只有 FORTRAN 编程语言比它更早一年。Lisp 编程语族已经演变出许多种方言。现代最著名的通用编程语种是 Clojure、Common Lisp 和 Scheme。

LISP

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 并不是只为人工智能而设计,而是一种通用的程序语言。

0个人收藏 收藏

相关推荐

  • 什么是语法错误

    什么是语法错误

    在计算机科学中,语法错误是指程序的语法有误,编译器或解译器在词法分析时无法将其转换为适当的编程语言。
  • 专家系统工具是什么

    专家系统工具是什么

    专家系统工具,即专家系统开发工具,是人们为高效率开发专家系统而设计的一种高级程序系统或高级程序设计语言环境。专家系统工具可分为骨架型、辅助型和通用型三类。
  • 高级语言是什么

    高级语言是什么

    高级语言是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。例如,要将2个变量相加并赋值给第三个变量,用高级语言表达为var3=var1+var2。
  • MapReduce是什么

    MapReduce是什么

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归约),是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。
  • Clojure

    Clojure是什么

    Clojure 是 Lisp 编程语言在 Java 平台上的现代、动态及函数式方言。 与其他 Lisp 一样,Clojure 视代码为数据且拥有一套 Lisp 宏系统。
  • Ruby

    Ruby是什么意思

    Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。