@natty Because it's completely unnecessary in proper #Object systems like #CLOS.

That is to say, #multimethod / #GenericFunction based object systems.

@phoe

Note that the #PrettyPrinting dispatch tables of #CommonLisp conceptionally are a #GenericFunction with #ParametricDispatch.

The function SET-PPRINT-DISPATCH is essentially an ADD-METHOD to the pretty printing parametric dispatch.

(Unfortunatly, the canonical, #ProofOfConcept implementation of PP by #RichardWaters is one single convoluted mess; basically a negative example of software design, even by standards of its time.)

🌺

🏷️ #Lisp #Scheme #CLOS #AMOP #MetaObject #MetaObjectSystem

@thatgeoguy The #PrettyPrint dispatch table of #CommonLisp is conceptually a #GenericFunction with parametric dispatch, altough not formalized as such and not a formal part of the Common Lisp Object System (CLOS).

However, it is possibly to extend #CLOS for #ParametricDispatch using the #MetaObjectProtocol (#MOP).

The Metaobject Protocol is not part of the formal CL standard, but is respected as de-facto standard, since about every CL implementation will stick to it. The protocol is described in The Art of the Meta-Object Protocol by Gregor Kiczales, Jim des Rivieres and Daniel G. Bobrow.

🌺

🦎 https://t.me/FamilyOfLisp

🏷️ #Lisp #Scheme
CLHS: Section 22.2.1.4