anchor.diff:  function names."
     `(progn
        (%define-endpoint ',name ,regexp)
  -     (declaim-endpoint-functions ,name ,regexp)
        ',name))
   
   
  
positive.code:     (print (endpoint-regexp endpoint) stream)))
  
  (defun make-endpoint (name regexp)
    ;; KLUDGE: We use some SBCL guts in order to allow redefinition of
    ;; handler functions to take effect automatically without having to
    ;; pay the cost of a full %COERCE-CALLABLE-TO-FUN at runtime.
    (flet ((fdefn-for (method)
  	   (let ((function-name (endpoint-function-name name method)))
  	     (sb-kernel:fdefinition-object function-name t))))
      (make-instance 'endpoint
  		   'name name
  		   'regexp regexp
  		   'get-fdefn (fdefn-for :get)
  		   'post-fdefn (fdefn-for :post)
  		   'delete-fdefn (fdefn-for :delete)
                     'archive-fdefn (fdefn-for :archive))))
  
  (defun endpoint-function (endpoint method)
    (or (sb-kernel:fdefn-fun
         (ecase method
  	 (:get (slot-value endpoint 'get-fdefn))
  	 (:post (slot-value endpoint 'post-fdefn))
  	 (:delete (slot-value endpoint 'delete-fdefn))
           (:archive (slot-value endpoint 'archive-fdefn))))
        (error "No ~A method handler defined for endpoint ~A"
  	     method (endpoint-name endpoint))))
  
  
negative.code:     base-result))
  
  
  ;;; An endpoint specifier.
  
  (defclass endpoint ()
    ((name :initarg name :reader endpoint-name)
     (regexp :initarg regexp :reader endpoint-regexp)))
  
  (defmethod print-object ((endpoint endpoint) stream)
    (print-unreadable-object (endpoint stream :type t)
  