anchor.diff:  ;;; File: parser.lisp
   ;;; Description: The LISA programming language parser.
   ;;;
  -;;; $Id: parser.lisp,v 1.17 2000/12/09 21:41:30 youngde Exp $
  +;;; $Id: parser.lisp,v 1.18 2000/12/09 21:57:06 youngde Exp $
   
   (in-package :lisa)
   
  
positive.code:                                  (nconc bindings `(',name ,value))))))))
      (expand-slots slots nil)))
  
  (defun insert-new-fact (head slots)
    (format t "inserting fact: ~S ~S~%" head slots))
  
  (defun parse-and-insert-fact (body)
    `(insert-new-fact ',(first body)
                      (normalize-slots ,@(expand-slot-variables (rest body)))))
  
  (defun parse-and-modify-fact (fact body)
    (format t "modify ~S, ~S~%" fact (parse-fact-body body)))
  
negative.code:                      (t
                        (error "CANONICALIZE-FACT: parse error at ~S." slots))))))
      (create-slots body 0)))
  
  (defun normalize-slots (&rest args)
    (labels ((compose-slots (pairs slot-name slots)
  