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