Generic Functions
A generic function is an instance of the <generic> class, or of a subclass of <generic>. The definition of the <generic> class has slots that are used to describe the properties of a generic function.
primitive procedure: generic-function-name gf
Return the name of generic function gf.
primitive procedure: generic-function-methods gf
Return a list of the methods of generic function gf. This is the value of gf’s methods slot.
Similarly, a method is an instance of the <method> class, or of a subclass of <method>; and the definition of the <method> class has slots that are used to describe the properties of a method.
primitive procedure: method-generic-function method
Return the generic function that method belongs to. This is the value of method’s generic-function slot.
primitive procedure: method-specializers method
Return a list of method’s formal parameter specializers . This is the value of method’s specializers slot.
primitive procedure: method-procedure method
Return the procedure that implements method. This is the value of method’s procedure slot.
generic: method-source
method: method-source (m <method>)
Return an expression that prints to show the definition of method m.
(define-generic cube)
(define-method (cube (n <number>))
(* n n n))
(map method-source (generic-function-methods cube))
⇒
((method ((n <number>)) (* n n n)))