実践Common Lispを読んでみる3
- 作者: Peter Seibel,佐野匡俊,水丸淳,園城雅之,金子祐介
- 出版社/メーカー: オーム社
- 発売日: 2008/07/26
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 192回
- この商品を含むブログ (69件) を見る
- マクロ。やっぱりわかりにくい。なんかスゴいんだけどスゴすぎてよくわからない。
第4章は読むだけにする。
書いても面白くなさそうな感じ。
以下、ソースコード。
(defun make-comparison-expr (field value) `(equal (getf cd ,field) ,value)) (defun make-comparison-list (fields) (loop while fields collecting (make-comparison-expr (pop fields) (pop fields)))) (defmacro where (&rest clauses) `#'(lambda (cd) (and ,@(make-comparison-list clauses))))
http://dl.getdropbox.com/u/228440/veleno-samples/lisp-samples/sample.lisp