2006-01-02から1日間の記事一覧

let-double

マクロの練習その2。Common Lisp では declare を使って変数の型を指定できる。コンパイラはより効率的なコードを生成してくれるので数値計算には便利。 (let ((a 2d0) (b 3d0)) (declare (double-float a b)) (let ((c (+ a b))) (declare (double-float c…

do-lines

マクロの練習で書いてみた、標準の dolist や dotimes マクロに類するループ系マクロ。名前の通り一行ずつ処理。 (defmacro do-lines ((line &optional (in *standard-input*)) &body body) `(do ((,line (read-line ,in nil 'eof) (read-line ,in nil 'eof)…