DDP Exercise Solution: (put 'define 'special-forms (lambda (var val) (put var 'bindings (simp-eval val)) ) ) (put 'if 'special-forms (lambda (pred conseq alt) (if (simp-eval pred) (simp-eval conseq) (simp-eval alt) )) ) (put '+ 'bindings +) (put '* 'bindings *) (put '= 'bindings =)