anchor.diff:    
   
   	
  -
  +;;;; 
  +;;;; A special symbol meaning that a concept has an unset implementation tag
  +(eval-when (:compile-toplevel)
  +  (defconstant +UNSET-IMPLEMENTATION-TAG+ (gensym "unset-impl-")
  +    "Special symbol denoting an unset implementation tag.
  +   This is the default value for all defined concepts initially
  +   unless changed by a call to implement-concept"))
  +  
   ;;;;
   ;;;; Define a particular concept
   ;;;; This just makes it's name available in the current concepts package
   ;;;; (or the given concepts package, defautls ot current)
   (defmacro define-concept (concept-name concept-args doc &key (package *concepts-package*) (error-when-duplicate-concept t))
  -  (let ((concept-method (intern (concatenate 'string (symbol-name concept-name) "-METHOD")))
  -	(concept-method-impl (intern (concatenate 'string (symbol-name concept-name) "-METHOD-IMPL"))))
  +  (let ((concept-method (intern (concatenate 'string (symbol-name concept-name) "")))
  +	(concept-method-impl (intern (concatenate 'string (symbol-name concept-name) "-IMPL"))))
       (with-concepts-package package
         (if (and (find-symbol (symbol-name concept-name) *concepts-package*)
   	       error-when-duplicate-concept)
  
positive.code: ;;;; Returns the concept symbol for a concept, or NIL of not found
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defun find-concept-symbol (concept-name &optional (package *concepts-package*))
      (find-symbol concept-name package)))
  
  
  ;;;;
  ;;;; Returns the implementation tag symbol.
  
negative.code: 	      (eval-when (:load-toplevel :execute)
  		(proclaim `(special ,concept-symbol)))
  	      (setf (documentation concept-symbol 'VARIABLE) doc)
  	      (setf (symbol-value concept-symbol) +UNSET-IMPLEMENTATION-TAG+)
  	      ;; create the concept list in package if needed
  	      (if (not (find-symbol (symbol-name '+concept-list+) *concepts-package*))
  		  (let ((concept-list (intern (symbol-name '+concept-list+) *concepts-package*)))
  