anchor.diff:  (in-package :manifest)
   
   (defvar *manifest-server* nil)
  +
  +(defparameter *categories* '(:function :generic-function :accessor :variable :class :condition :constant))
   
   (defun start (&key (port 0))
     "Start the manifest server and return the URL to browse. By default
  
positive.code: (defgeneric docs-for (symbol what))
  (defgeneric pluralization (what))
  
  (defmethod pluralization (what) "s")
  
  (defmethod pluralization ((what (eql :class))) "es")
  
  (defmethod is (sym (what (eql :function)))
    (and (fboundp sym) (not (typep (symbol-function sym) 'generic-function))))
  
  (defmethod is (sym (what (eql :generic-function)))
    (and (fboundp sym) (typep (symbol-function sym) 'generic-function)
         (not (is sym :accessor))))
  
  (defmethod is (sym (what (eql :class)))
    (find-class sym nil))
  
  (defmethod is (sym (what (eql :variable)))
    (and (boundp sym) (not (constantp sym))))
  
  (defmethod is (sym (what (eql :constant)))
    (and (boundp sym) (constantp sym)))
  
  (defmethod is (sym (what (eql :accessor)))
    (and (fboundp sym) (fboundp `(setf ,sym)) (typep (symbol-function sym) 'generic-function)))
  
  
  (defmethod docs-for (symbol (what (eql :function)))
    (documentation symbol 'function))
  
  (defmethod docs-for (symbol (what (eql :generic-function)))
    (documentation symbol 'function))
  
  (defmethod docs-for (symbol (what (eql :accessor)))
    (documentation symbol 'function))
  
  (defmethod docs-for (symbol (what (eql :class)))
    (documentation (find-class symbol) t))
  
  (defmethod docs-for (symbol (what (eql :variable)))
    (documentation symbol 'variable))
  
  (defmethod docs-for (symbol (what (eql :constant)))
    (documentation symbol 'variable))
  
  
negative.code:               (when readme
                  (format s "~a" readme)))
  
              (loop for what in *categories* do
                   (format s "~&<h2>~:(~a~)</h2>~&<table>" (pluralization what))
                   (loop for sym in (names package what) do
                        (format s "~&<tr><td class='symbol'>~(~a~)</td><td class='docs'>~a</td></tr>" sym (docs-for sym what)))
                   (format s "~&</table>"))
  