land of lispより
cons(コンス)
>(cons 'chicken 'cat)
(CHICKEN . CAT)
>(cons 'pork '(beef chcken))
(PORK BEEF CHICKEN)
listはnilで終わる。
Lispはコンスセルを隠す。よって結果がリストの形ならコンスセルとしての表示( . )は省略される。
(pork beef chicken) と (pork . (beef . (chicken . ())))は等価
コンスセルの連なりはリストである。
リストの最終セルが()=nilで終わっていることに注目。
リストはネストできる。
carとcdr
carはリストの最初の要素を取りだす。
cdrは2番目から尻までの要素を取り出す。
cadr(cdr→car),cdar(car→cdr),cadadr(cdr→car→cdr→car)などの関数もある。
common lispでは4連続まで定義されている。