> The original GOOPS implementation had a somewhat crazy feature that an > application of a generic function to a specific argument list first > resulted in the standard MOP procedure for finding a set of applicable > methods and, second, from this/these generated something called a "cmethod" > (compiled method) which, in turn, was stored in a cache as well as applied > to the list of arguments.
Sounds like the traditional implementation of CLOS, so I wouldn't call that "crazy". The reaon is/was that finding the set of applicable methods and combining them into the resulting "cmethod" was expensive, hence the need for a cache. Stefan "who does the same in Emacs's CLOS implementation"