From: Chris Hume
Subject: APDA PCL, What's with "defgeneric"?
Date: 
Message-ID: <1869@dover.sps.mot.com>
I recently received (the January 5th, 1989) PCL from APDA and have
installed it under Allegro CL 1.2.2 (on a Macintosh SE).

I was surprised to find the "defgeneric" macro missing, but instead
an unbound symbol with this name appearing in the PCL package.

There was no mention of "defgeneric" in the module containing the
"ensure-generic-function" function, but I haven't searched further
for the source of the unbound symbol.

What, if anything, is missing from the following simplistic
implementation?

(defmacro defgeneric (function-specifier lambda-list &rest options)
  "Implement this basic CLOS feature in the apparent absence of PCL support."
  `(apply #'ensure-generic-function ',function-specifier
          (apply #'append (list :lambda-list ',lambda-list) ',options)))

The only problem is that "defmethod" doesn't seem to care much about
being given an incongruent (with a previous defgeneric) lambda list.
The defgeneric lambda list seems to take precedence at application time,
but since the defgeneric is optional defmethod can not simply be ignoring
its lambda list.

Was "defgeneric" omitted, or is compilation error a more likely cause?

Chris

-- 
Phone: (602) 994-6835		EMail: ยทยทยทยท@sps.mot.com