anchor.diff:  
   (defun redefine-defrule (name body)
     (multiple-value-bind (doc-string decls lhs rhs)
  -      (evaluate-defrule body)))
  +      (evaluate-defrule body)
  +    (format t "name ~S, doc ~S, decls ~S, lhs ~S, rhs ~S~%"
  +            name doc-string decls lhs rhs))
  +  (values))
         
   (defun evaluate-defrule (body)
     (format t "evaluate-defrule: looking at ~S~%" body)
  
positive.code:   (list p))
  
  (defmacro variablep (sym)
    `(and (symbolp sym)
      (eq (elt (symbol-name sym) 0) #\?)))
  
  (defmacro field-constantp (sym)
    `(or
      (symbolp sym)
      (numberp sym)
      (stringp sym)))
  
  (defmacro with-slot-components (((name field constraint) slot) &body body)
    `(destructuring-bind (,name ,field &optional ,constraint) ,slot
  
negative.code: ;;; File: language.lisp
  ;;; Description: Macros that implement the LISA programming language.
  ;;;
  ;;; $Id: language.lisp,v 1.5 2000/10/17 15:01:06 youngde Exp $
  
  (in-package "LISA")
  
  