いま帰ってきた
帰りの電車、新橋で座れたのでマクロのようなものを実装した。
def test(): e(parse(""" (begin (define-macro unless (cond body) (if cond () body)) (display (unless 0 1)) (display (unless 2 3)) )"""))
これで1とが表示される。空リストが()じゃなくてなのはまだPythonのリストを使っているせい。
- 終電間際になる
- 永田町まで歩くと間違いなく間に合わない
- 溜池山王の駅に行くが1本じゃないので終電かどうかがわからない
- 乗り換え案内で検索して銀座線を選択
- 新橋で座れる。乗り換え予定の三越前まで4駅あるからマクロを実装するためにノートを出す
- 三越前、いいところなので浅草まで乗ることにする
- マクロできた
- 浅草に着いた。家はどっちだ?
- 家に着いた。30分かかった。
浅草〜家は、歩けない距離ではない。毎日通勤で歩くのはちょっとな。終電がないときは浅草に帰るのも選択肢に入れよう。
-
-
-
- -
-
-
上の記事の
(define-macro unless (cond body) (if cond () body))
は正しい文法ではない。正解は
(define-macro (unless cond body) (if cond () body))
でもこの修正は1分でできるので、「このサイトに存在するすべての間違いは、意図されていたかいなかったかに関わらず、読者のための練習問題もしくは冗談です。」の練習問題の方だったということにします(ぉ