anchor.diff:  
   (defun false-p (exp)
     (eq exp 'false))
  -
  -(defun eval-if (exp env)
  -  (if (true-p (t-eval (if-predicate exp) env))
  -      (t-eval (if-consequent exp) env)
  -      (t-eval (if-alternative exp) env)))
   
   (defun cond-p (exp)
     (tagged-list-p exp 'cond))
  
positive.code: (defun application-operand (exp)
    (cdr exp))
  
  (defun eval-application (exp env)
    (let ((procedure (t-eval (application-operator exp) env))
  	(args (list-of-values (application-operand exp) env)))
      (t-apply procedure args)))
  
  (defun list-of-values (args env)
    (mapcar #'(lambda (arg) (t-eval arg env)) args))
  
  (defun primitive-procedure-p (exp)
    (tagged-list-p exp 'primitive))
  
negative.code: 
  (defun apply-compound-procedure (procedure args)
    (let ((vars (procedure-parameters procedure))
  	(body-proc (procedure-body-proc procedure))
  	(env (procedure-env procedure)))
      (let ((extended-env (env-extend env vars args)))
        (format t "apply-cp vars: ~a~%" vars)
        (format t "apply-cp args: ~a~%" args)
        (format t "apply-cp body: ~a~%" body-proc)
        (format t "apply-cp env: ~a~%" extended-env)
        (funcall body-proc extended-env))))
  
  (defun to-boolean (exp)
    (if (null exp)
  