と書くことで複数の要素を一括して扱えるようになったね。このデータ構造のことを「リスト」って言うみたいだよ。
と書いたのと同じことになるんだって。実際に評価して試してみよう!
ということで、Lispでカッコでくくって複数の要素を列挙していたのは、実はリストだったんだね。だからLispのS式(の関数や特殊形式)は、リストでできているんだねえ。
という感じで「一番最初に関数名(または特殊形式名)を表すシンボル、それ以降に値(または式)が列挙されたもの」をカッコでくくったもの、もうひとつには
関数(または特殊形式)を評価すると、一番最初の関数名(または特殊形式名)を表すシンボルに関連付けられた関数(または特殊形式)が呼び出され、計算が行われて、その計算結果が戻り値になるよ。
関数を呼び出したときは、関数名の後に列挙された値(または式)がそれぞれすべて1回ずつ評価されて、それぞれの戻り値を関数の引数とするみたいだよ。
そして関数ではなくて特殊形式の場合は、すべての引数が評価されるとは限らないみたい。まったく評価されない引数があったり、1回だけ評価されたり、2回以上評価されたりもするみたいだよ。
のような感じで、最初の要素が関数を表すシンボル、それ以降が値(または式)を列挙したもの、という構成になっているよ。
Rubyなら、「そのオブジェクトはどのクラスのインスタンスなの?」ということを調べるにはclassメソッドを使えばよかったよね。
Common Lispの場合は、「その値の型は何?」ということを調べるにはtype-ofを使えばいいみたいだよ。