Lisp 隨想錄/第一話

维基教科书,自由的教学读本

在Lisp中,程序和数据是如何区分的呢,任何一个列表,Lisp都会试图对它求值。比如

>(+ 1 1)

2

那么

>(1 2 3)

错误,函数 1 不可用

于是,任何一个列表都是程序,那数据在哪里?列表中的非第一项,即树的右支。

>'(1 1 1)
(1 1 1)

这次,我们得到了一个列表,那么,这就可以作为一个数据了。 但数据不会永远是数据,它实际上会立刻变成程序