DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(goops.info.gz) MOP Specification

Info Catalog (goops.info.gz) Reference Manual (goops.info.gz) Top (goops.info.gz) Tutorial
 
 MOP Specification
 *****************
 
 For an introduction to metaobjects and the metaobject protocol, see
  Metaobjects and the Metaobject Protocol.
 
 The aim of the MOP specification in this chapter is to specify all the
 customizable generic function invocations that can be made by the
 standard GOOPS syntax, procedures and methods, and to explain the
 protocol for customizing such invocations.
 
 A generic function invocation is customizable if the types of the
 arguments to which it is applied are not all determined by the lexical
 context in which the invocation appears.  For example,
 
    * the `(initialize INSTANCE INITARGS)' invocation in the default
      `make-instance' method is customizable, because the type of the
      `INSTANCE' argument is determined by the class that was passed to
      `make-instance'.
 
    * the `(make <generic> #:name ',name)' invocation in `define-generic'
      is not customizable, because all of its arguments have lexically
      determined types.
 
 When using this rule to decide whether a given generic function
 invocation is customizable, we ignore arguments that are expected to be
 handled in method definitions as a single "rest" list argument.
 
 For each customizable generic function invocation, the "invocation
 protocol" is explained by specifying
 
    * what, conceptually, the applied method is intended to do
 
    * what assumptions, if any, the caller makes about the applied
      method's side effects
 
    * what the caller expects to get as the applied method's return
      value.
 

Menu

 
* Class Definition
* Instance Creation
* Class Redefinition
* Method Definition
* Generic Function Invocation
 
Info Catalog (goops.info.gz) Reference Manual (goops.info.gz) Top (goops.info.gz) Tutorial
automatically generated byinfo2html