「プログラミングGauche」P.75 ~ 76 構文の拡張とマクロ
こうして考えるとLisp自身を使って構文を追加できそうに思えてきませんか。 |
思えてきます!
ほぼ写経ですが。手続きの名前は好みで変えました。本ではmit-form->primitive-form。
「'(define (double x)(* x x))」を「(define double (lambda (x) (* x x))」に変換するmit->lambda手続き。
(define (mit->lambda exp) |
コメント付けてみた。MeadowでM-;が便利。
;; mit -> lambda
(mit->lambda '(define (double x)(* x x))) |
「すべてがリスト」ってのはホンマですね。
0 件のコメント:
コメントを投稿