2007-06-01から1ヶ月間の記事一覧

Common Lisp Loop マクロはミニ言語

loop マクロは、知れば知るほど繰り返し処理のためのミニ言語だということが分かってくる。最近覚えたのは、ループ内のローカル変数の使い方。 var x from n to m と書けば数列を生成するが、 to 以降は省略可能。ファイルを行単位で読みながら、行数を数え…

Practical Common Lisp: Parsing Binary Files(2)

この章をちゃんと読むと、プログラムの書き方の勉強になる。つまり、特定の問題を解くためにプログラムをだらだら書くのではなく、 汎用的なツールを作ってその上で具体的な問題を解く。 マクロや CLOS の使い方も重要だが、それは上記の目的のための手段に…

Practical Common Lisp: Parsing Binary Files

Practical Common Lisp の24章以降。 それなりに大きい例だが、とても勉強になる素晴らしい例題。ちゃんと追う。 特殊な問題よりも一般的な問題を解く defclass に展開されるマクロによるクラス定義 defmethod eql specifier による、型と関係の無いディスパ…