基本表達

讓我們在 REPL 中嘗試一些基本表示式:

CL-USER> (+ 1 2 3)
6
CL-USER> (- 3 1 1)
1
CL-USER> (- 3)
-3
CL-USER> (+ 5.3 (- 3 2) (* 2 2))
10.3
CL-USER> (concatenate 'string "Hello, " "World!")
"Hello, World!"
CL-USER> 

Common Lisp 程式的基本構建塊是表單。在這些示例中,我們有函式形式,即表示式,寫為列表,其中第一個元素是運算子(或函式),其餘元素是運算元(這稱為字首表示法波蘭表示法) “)。在 REPL 中編寫表單會導致他們的評估。在示例中,你可以看到簡單的表示式,其引數是常量,字串和符號(在'string 的情況下,這是型別的名稱)。你還可以看到算術運算子可以使用任意數量的引數。

值得注意的是,括號是語法的組成部分,不能像其他程式語言一樣自由使用。例如,以下是一個錯誤:

(+ 5 ((+ 2 4)))
> Error: Car of ((+ 2 4)) is not a function name or lambda-expression. ...

在 Common Lisp 中,形式也可以是資料,符號,巨集形式,特殊形式和 lambda 形式。它們可以被編寫為被評估,返回零,一個或多個值,或者可以在巨集的輸入中給出,以其他形式轉換它們。