「プログラミング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 件のコメント:
コメントを投稿