2010/03/29

syntax-rules: if

マクロとは式の変換です。 
;; if
;; http://www.shido.info/lisp/scheme_syntax.html
(define-macro (my-if pred then else)
`(cond (,pred ,then)
(else ,else)))
(display (my-if (odd? 1)
"yes"
"no"))
(macroexpand '(my-if (odd? 1)
"yes"
"no"))
; -> (cond ((odd? 1) "yes") (else "no"))
view raw if.scm hosted with ❤ by GitHub

プログラミングGauche

0 件のコメント:

コメントを投稿