|
ToDo:
|
twitterでサイン本がまだ残っているってので神保町のグランデ | 店舗情報 | 株式会社書泉まで買いに出かけました。途中まで神保町と神谷町を間違えて日比谷線に乗ったのは内緒だ。
まずは関数
(defn append[x y]
(if (nil? x) y
(cons (first x) (append (next x) y))))
今度はマクロで実装
(defmacro apnd[x y]
`(letfn [(apnd# [x# y#]
(if (nil? x#) y#
(cons (first x#) (apnd# (next x#) y#))))]
(apnd# ~x ~y)))
実装ヒントは初めての人のためのLISP[増補改訂版]からです。