% -*- Mode: TeX -*- % Meta-Objects The implementation of the \OS\ manipulates \term{classes}, \term{methods}, and \term{generic functions}. The \OS\ contains a set of \term{generic functions} defined by \term{methods} on \term{classes}; the behavior of those \term{generic functions} defines the behavior of the \OS. The \term{instances} of the \term{classes} on which those \term{methods} are defined are called meta-objects. %Programming %at the meta-object protocol level involves defining new classes of %meta-objects along with methods specialized on these classes. \beginsubsection{Standard Meta-objects} The \OS\ supplies a set of meta-objects, called standard meta-objects. These include \theclass{standard-object} and \term{instances} of the classes \typeref{standard-method}, \typeref{standard-generic-function}, and \typeref{method-combination}. \beginlist \editornote{KMP: This is said redundantly in the definition of STANDARD-METHOD.}%!!! \itemitem{\bull} \Theclass{standard-method} is the default \term{class} of \term{methods} defined by the \macref{defmethod} and \macref{defgeneric} \term{forms}. \issue{GENERIC-FLET-POORLY-DESIGNED:DELETE} % \macref{generic-function}, \endissue{GENERIC-FLET-POORLY-DESIGNED:DELETE} \issue{WITH-ADDED-METHODS:DELETE} %\specref{with-added-methods}, \endissue{WITH-ADDED-METHODS:DELETE}% \issue{GENERIC-FLET-POORLY-DESIGNED:DELETE} % \specref{generic-flet}, % and % \specref{generic-labels}. \endissue{GENERIC-FLET-POORLY-DESIGNED:DELETE} \itemitem{\bull} \Theclass{standard-generic-function} is the default \term{class} of \term{generic functions} defined by the forms \macref{defmethod}, \macref{defgeneric}, \issue{GENERIC-FLET-POORLY-DESIGNED:DELETE} % \macref{generic-function}, % \specref{generic-flet}, % \specref{generic-labels}, \endissue{GENERIC-FLET-POORLY-DESIGNED:DELETE} \issue{WITH-ADDED-METHODS:DELETE} % \specref{with-added-methods}, \endissue{WITH-ADDED-METHODS:DELETE}% and \macref{defclass}. \itemitem{\bull} The \term{class} named \typeref{standard-object} is an \term{instance} of \theclass{standard-class} and is a \term{superclass} of every \term{class} that is an \term{instance} of \typeref{standard-class} except itself and \typeref{structure-class}. \itemitem{\bull} Every \term{method} combination object is an \term{instance} of a \subclassof{method-combination}. \endlist \endsubsection%{Standard Meta-objects}