anchor.diff:    (let ((*commands* *commands*))
       (add-command '(:bt :backtrace)
                    #'(lambda ()
  -                     (format t "~&~a~%" *backtrace-string*)))
  +                     (format t "~&~a~%" *backtrace-string*))
  +                 "Print backtrace.")
       (add-command '(:c :cont :continue)
                    #'(lambda (arg)
                        (when (typep arg `(integer 0 ,(1- (length choices))))
  -                       (return-from one-of (nth arg choices)))))
  +                       (return-from one-of (nth arg choices))))
  +                 "Continue execution.")
       (loop
         (multiple-value-bind (x args)
             (readline-read (format nil "~%[DEBUGGER]~%"))
  
positive.code: (defvar *eof-value* (gensym "EOF"))
  (defvar *commands* nil)
  
  (defun add-command (names function)
    (dolist (name names)
      (push (cons name function)
            *commands*)))
  
  (defmacro define-command ((name &rest rest-names) parameters &body body)
    `(add-command (cons ,name ,rest-names)
                  #'(lambda ,parameters ,@body)))
  
  (defun find-command (x)
    (cdr (assoc x *commands*)))
  
  (defun add-history (str)
    (cffi:foreign-funcall "add_history"
  
negative.code:          (*debugger-hook* me-or-my-encapsulation))
      (invoke-restart-interactively restart)))
  
  (define-command (:h :help) ()
    (loop :for (names function docstring) :in *commands* :do
      (format t "~&~{~s~^ ~}~20,5T ~a~%" names docstring)))
  
  (let (* ** *** - + ++ +++ / // /// values)
    (defun eval-print (-)
      (setq values
  