Name: Anonymous 2013-05-30 10:32
Symta:
aif C T E => form \It | It = ,C | if It T E
Lisp:
(define-syntax aif
(sc-macro-transformer
(lambda (form environment)
(let ((condition
(make-syntactic-closure environment '() (cadr form)))
(consequent
(make-syntactic-closure environment '(IT) (caddr form)))
(alternative
(make-syntactic-closure environment '() (cadddr form))))
`(LET ((IT ,condition))
(IF IT
,consequent
,alternative))))))
aif C T E => form \It | It = ,C | if It T E
Lisp:
(define-syntax aif
(sc-macro-transformer
(lambda (form environment)
(let ((condition
(make-syntactic-closure environment '() (cadr form)))
(consequent
(make-syntactic-closure environment '(IT) (caddr form)))
(alternative
(make-syntactic-closure environment '() (cadddr form))))
`(LET ((IT ,condition))
(IF IT
,consequent
,alternative))))))