MOP Generic Functions

The MOP is itself implemented using generic functions and the class slot from each instance.

Initialization

generic object/initialize inst initargs

Initialize the instance inst from initargs. initialize is called from make-instance.

The following methods are defined:

  • (<method> <top>)

  • (<generic> <top>)

  • (<class> <top>)

  • (<object> <top>)

Instance Structure

generic object/allocate-instance cl

Allocate space for an instance of class cl. allocate-instance is called from make-instance.

The following methods are defined:

  • (<entity-class>)

  • (<class>)

generic object/compute-getter-and-setter cl slot allocator

Compute the getter and setter information for slot slot in class cl using allocator allocator.

The following method is defined:

  • (<class> <top> <top>)

Class Initialization

generic object/compute-cpl cl

Determine the class precedence list from the super-classes.

The following method is defined:

  • (<class>)

generic object/compute-slots cl

Determine the actual class slots from the direct and inherited slots.

The following method is defined:

  • (<class>)

Generic Invocation

generic object/compute-apply-generic gf

Return a function to be used as the instance proc for generic gf.

The function takes any number of arguments and calls compute-methods and compute-apply-methods.

The following method is defined:

  • (<generic>)

generic object/compute-methods gf

Return a function to be used to calculate the sorted list of methods given the generic function’s arguments.

The function calls compute-method-more-specific?.

The following method is defined:

  • (<generic>)

generic object/compute-method-more-specific? gf

Return a function to be used to sort methods by their specializers.

The following method is defined:

  • (<generic>)

generic object/compute-apply-methods gf

Return a function to be used to call the method-procedure for the sorted list of applicable methods determined previously.

The function takes a list of methods and the generic function’s arguments.

The following method is defined:

  • (<generic>)

Last built at 2024-12-21T07:10:36Z+0000 from 62cca4c (dev) for Idio 0.3.b.6