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)
           
 
))
))
 

原创粉丝点击