.. include:: ../global.rst .. idio:currentmodule:: object MOP Generic Functions --------------------- The MOP is itself implemented using generic functions and the *class* slot from each instance. .. idio:currentmodule:: object Initialization ^^^^^^^^^^^^^^ .. _`object/initialize`: .. idio:generic:: object/initialize inst initargs Initialize the instance `inst` from `initargs`. ``initialize`` is called from :ref:`make-instance `. The following methods are defined: * ``( )`` * ``( )`` * ``( )`` * ``( )`` .. idio:currentmodule:: object Instance Structure ^^^^^^^^^^^^^^^^^^ .. _`object/allocate-instance`: .. idio:generic:: object/allocate-instance cl Allocate space for an instance of class `cl`. ``allocate-instance`` is called from :ref:`make-instance `. The following methods are defined: * ``()`` * ``()`` .. _`object/compute-getter-and-setter`: .. idio: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: * ``( )`` .. idio:currentmodule:: object Class Initialization ^^^^^^^^^^^^^^^^^^^^ .. _`object/compute-cpl`: .. idio:generic:: object/compute-cpl cl Determine the class precedence list from the super-classes. The following method is defined: * ``()`` .. _`object/compute-slots`: .. idio:generic:: object/compute-slots cl Determine the actual class slots from the direct and inherited slots. The following method is defined: * ``()`` .. idio:currentmodule:: object Generic Invocation ^^^^^^^^^^^^^^^^^^ .. _`object/compute-apply-generic`: .. idio: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 :ref:`compute-methods ` and :ref:`compute-apply-methods `. The following method is defined: * ``()`` .. _`object/compute-methods`: .. idio: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 :ref:`compute-method-more-specific? `. The following method is defined: * ``()`` .. _`object/compute-method-more-specific?`: .. idio:generic:: object/compute-method-more-specific? gf Return a function to be used to sort methods by their specializers. The following method is defined: * ``()`` .. _`object/compute-apply-methods`: .. idio:generic:: object/compute-apply-methods gf Return a function to be used to call the :ref:`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: * ``()`` .. include:: ../commit.rst