(mymachine (
(defmacro demoinside (expr)
(print expr)
)
(defmacro mymachineinside (exprs)
`(if ,(eq exprs nil)
nil
(progn
(print (demoinside ,(car exprs)) )
(mymachineinside ,(cdr exprs) )
)
)
)
(mymachineinside (
(defmacro demo (expr)
(print expr)
)
(defmacro mymachine (exprs)
`(if ,(eq exprs nil)
nil
(progn
(demo ,(car exprs))
(mymachine ,(cdr exprs) )
)
)
)
(setq s
(lambda (value)
(cons 'chenbing value)
)
)
(setq two
(lambda (s z)
(funcall s (funcall s z) )
)
)
(setq three
(lambda (s z)
(funcall s (funcall s (funcall s z ) ) )
)
)
(funcall two s nil)
(funcall three s nil)
(setq add
(lambda ( m n s z)
(funcall m s (funcall n s z) )
)
)
(funcall add two three s nil)
))
))