On this page:
make-multimethod
multimethod?
multimethod-make-signature
multimethod-current-overloads
Version: 4.1.4.1

3.1 Procedural Protocol

(make-multimethod make-signature    
  [#:overloads overloads])  multimethod?
  make-signature : procedure?
  overloads : overloads? = (make-overloads)

Creates a multimethod structure that can be called as a procedure. make-signature is the signature generator procedure applied every time the multimethod is called to determine the signature of its arguments. The actual method implementation to call is then looked up in the overload set os.

The overloads are stored in a parameter. This way you can have the advantages of parameterization, which can be handy for dynamically adding or removing methods or preferences, without syntactic differences to regular procedures when calling the multimethod.

(multimethod? v)  boolean?
  v : any/c

Checks whether the given object is a multimethod.

(multimethod-make-signature mm)  procedure?
  mm : multimethod?

Retrieves the signature generator of a multimethod.

(multimethod-current-overloads mm)  (parameter/c overloads?)
  mm : multimethod?

Extracts the parameter object holding the overloads from a multimethod.