anchor.diff:  ;;;; THE SOFTWARE.
   
   
  -;;; $Id: species-type.lisp,v 1.57 2008/09/11 21:50:08 amallavarapu Exp $
  +;;; $Id: species-type.lisp,v 1.58 2008/10/31 05:27:54 amallavarapu Exp $
   ;;; $Name:  $
   
   ;;; File: complex-species-type.lisp
  
positive.code:                                      ,@body))))
       ',name)))
  (defun user-defined-complex-function (name)
    (gethash name *complex-expansions*))
  (defun process-complex-macro-output (name complex-form)
    (assert (and (object-form-p complex-form) (object-form-p (object-form-object complex-form)))
        ()
  
negative.code:                            :documentation documentation
                             :sublocation sublocation)))))
  
  (defvar *cached-canonical-graphs* (make-hash-table :test #'equalp))
  (defun ensure-canonical-complex-graph (x &optional force-pattern)
    (let* ((graph (etypecase x
                   (list (make-complex-graph x force-pattern))
                   (complex-graph x)))
          (found (gethash graph *cached-canonical-graphs*)))
      (if found (princ #\.))
      (or found
          (setf (gethash graph *cached-canonical-graphs*)
                (gtools:canonical-graph graph)))))
  
  
  ;;;
  