anchor.diff:  		      primitive-procedures)))
   
   (defun repl ()
  -  (let ((env (make-global-env *primitive-procedures*)))
  +  (let ((*print-circle* t)
  +	(env (make-global-env *primitive-procedures*)))
       (loop
         (fresh-line)
         (format t "LISP> ")
  
positive.code: (defun eval-definition (exp env)
    (let ((var (definition-var exp))
  	(val (definition-val exp)))
      (frame-define! (env-first-frame env) var val)))
  
  (defun eval-assignment (exp env)
    (let ((var (assignment-var exp))
  	(val (eval (assignment-val exp))))
      (frame-set! (env-first-frame env) var val)))
  
  (defun application-p (exp)
    (consp exp))
  
negative.code:     ((quoted-p exp) (object-of-quoted exp))
      ((assignment-p exp) (eval-assignment exp env))
      ((definition-p exp) (eval-definition exp env))
      ((lambda-p exp) (eval-lambda exp env))
      ((application-p exp) (eval-application exp env))
      (t 'not-implemented)))
  
  