Lisp 隨想錄/第一話

維基教科書,自由的教學讀本

在Lisp中,程序和數據是如何區分的呢,任何一個列表,Lisp都會試圖對它求值。比如

>(+ 1 1)

2

那麼

>(1 2 3)

错误,函数 1 不可用

於是,任何一個列表都是程序,那數據在哪裏?列表中的非第一項,即樹的右支。

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

這次,我們得到了一個列表,那麼,這就可以作為一個數據了。 但數據不會永遠是數據,它實際上會立刻變成程序