anchor.diff:  (defmacro retrieve ((&rest varlist) &body body)
     (flet ((make-query-binding (var)
              `(cons ',var (instance-of-shadow-fact ,var))))
  -    (let ((query-name (gentemp))
  +    (let ((query-name (gensym))
             (hash (gensym))
             (query (gensym)))
         `(let* ((,hash (sxhash (normalize-query ',body)))
  
positive.code: ;;; Description: Macros and functions implementing LISA's initial query
  ;;; language implementation.
  
  ;;; $Id: retrieve.lisp,v 1.12 2002/04/08 02:19:54 youngde Exp $
  
  (in-package "LISA")
  
  
negative.code:     (block found
        (with-hash-table-iterator (next-item *query-map*)
          (multiple-value-bind (foundp key value) (next-item)
            (when (and foundp
                       (string= (symbol-name value)
                                (symbol-name name)))
              (return-from found
                (remove-query key value))))))))
  
  