macro2
来源:互联网 发布:淘宝账号被限制登录 编辑:程序博客网 时间:2024/05/01 21:44
(defmacro demo (expr)
(print expr)
)
(defmacro mymachine (exprs)
`(if ,(eq exprs nil)
nil
(progn
(demo ,(car exprs))
(mymachine ,(cdr exprs) )
)
)
)
(mymachine (
(defmacro demoinside (expr)
(print expr)
)
(defmacro mymachineinside (exprs)
`(if ,(eq exprs nil)
nil
(progn
(demoinside ,(car exprs))
(mymachineinside ,(cdr exprs) )
)
)
)
(mymachineinside (
(funcall (lambda (x )
(funcall (lambda (y )
(progn (print x)(print y) (print (+ x y) ) )
)
3 )
)
4)
(funcall
(funcall (lambda (x )
(lambda (y )
(progn (print x)(print y) (print (+ x y) ))
)
)
3 )
4)
))
))