LoL を読む

リードマクロで躓いた。最終的には On Lisp の第17章を再度読むことで理解をした。On Lisp を読んだときはわからなかったが面白いマクロだ。便利なショートカットだ。でも本質ではないと思う。詳細は Common Lisp の第2版に第22章入出力のマクロ文字として定義されている。

リードマクロを使うと(LoLにあるように)循環式を簡単に作ることが出来る。今まで循環式が必要になったときはテストケース以外にないが(といってもそんなに深く Lisp を使いこなしているわけではない)ちょっと便利な機能かな、、、いつ使うんだ?

あっそうかそうか。例えば xml なんかを入れちゃえるんだ。

(setq xml-sample #x<abc> abc </abc> )

みたいにね。いいのか悪いのかわからないが。(setq xml-sample (load "sample.xml")) と同じようでちょっと違う。lisp の中に違う言語を入れられるぞ。例えば draw-line でも実現できるけど draw-line 言語見たいなもの。

(setq draw-line-data #d(0, 100)-(100,100)-(100,0)-(0,0))

あまりスマートじゃないな、、、