一. 前言 Lisp语言
Lisp诞生的时候包含了9中新思想,其中一些被用于其他高级语言,我们已经习以为常,至今还有2种是Lisp独有的。
- 条件结构 (即if-else结构),在Fortran 1时只有基于底层机器指令实现的goto结构。
- 函数也是一种数据类型 Lisp语言中,函数跟整数和字符串一样,属于数据类型的一种,有自己的字面表示形式(literal representation),能存储在变量中,也能当作参数传递。
- 支持递归
- 变量的动态类型 ,所有变量实际上都是指针,所指向的值有类型之分,而变量本身没有,赋值或绑定变量都相当于复制指针,而不是复制他们指向的数据。
- 垃圾回收机制
- 程序由表达式组成,Lisp程序是一些表达式树的集合,每个表达式返回一个值,大多数后来的程序都由表达式和语句组成。
- 符号类型,符号实际上是一种指针,指向存储在散列表中的字符串,所以比较两个符号是否相等,只需看其指针是否一样即可,而不用逐个字符比较。
- 代码使用符号和常量组成的树形表示法
- 无论什么时候整个语言都是高度可用的,Lisp不真正区分读取期,编译期和运行期,可以在读取期编译或运行代码,也可在编译期读取或运行代码,或在运行期读取和编译代码
若程序语句看起来像数据,则其很容易作为其他数据的输入
标签:读取,Lisp,ELisp,学习,编译,变量,表达式,指针 From: https://www.cnblogs.com/sgqmax/p/18521089