anchor.diff:          (format stream "\"~A\" -> \"~A\"~%" (class-name the-class) (class-name superclass)))))
     (format stream "}~%"))
   
  +(defun string-prefix-p (prefix word)
  +  (when (>= (length word) (length prefix))
  +    (string= word prefix :end1 (length prefix))))
  +
  +(defun shcl-package-name-p (package-name)
  +  (string-prefix-p "SHCL/" package-name))
  +
  +(defun shcl-system-name-p (system-name)
  +  (string-prefix-p "shcl/" system-name))
  +
  +(defun graph-dependencies (&key
  +                             (stream *standard-output*)
  +                             (seed-package-name "shcl/shell/main")
  +                             (include-predicate (constantly t))
  +                             (explore-predicate 'shcl-system-name-p))
  +  (format stream "digraph G {~%")
  +  (let ((visited (make-hash-table :test 'equal)))
  +    (labels
  +        ((visit (name)
  +           (when (gethash name visited)
  +             (return-from visit))
  +           (setf (gethash name visited) t)
  +           (let ((system (asdf:find-system name)))
  +             (dolist (peer (asdf/system:system-depends-on system))
  +               (when (funcall include-predicate peer)
  +                 (format stream "\"~A\" -> \"~A\"~%" name peer))
  +               (when (funcall explore-predicate peer)
  +                 (visit peer))))))
  +      (visit seed-package-name)))
  +  (format stream "}~%"))
  +
   (defparameter *intentionally-undocumented-packages*
     (fset:set
      (find-package :shcl/shell/prompt-types)
  
positive.code: be documented."
    (when (fset:lookup *intentionally-undocumented-packages* package)
      (return-from documented-shcl-package-p nil))
    (let ((shcl-prefix "SHCL/"))
      (when (> (length (package-name package)) (length shcl-prefix))
        (string= (package-name package) shcl-prefix :end1 (length shcl-prefix)))))
  
  (defun symbol-documentation-types ()
    "Return an array of types of documentation a symbol can have.
  
negative.code:   (:import-from :closer-mop)
    (:import-from :fset)
    (:export
     #:graph-dependencies #:graph-class-hierarchy #:undocumented-symbols
     #:undocumented-symbols-in-package #:verbose-echo-stream))
  (in-package :shcl/core/debug)
  
  