by shigemk2

当面は技術的なことしか書かない

対話によるCommon Lisp入門 14 cons

consとはこんな感じの関数。まず第一引数を評価してから、リストの一番前にaを追加する。

cons a (b1 .... bn)) = (x b1 .... bn)
[5]> (setf x '(4 5))
(4 5)
[6]> (cons `(+ 1 2) x)
((+ 1 2) 4 5)
[7]> (cons (+ 1 2) x)
(3 4 5)
[8]> (cons (+ 1 2) 3)
(3 . 3)

まあこんな感じでした。