X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/e6f472d6d86a469ec3433361b03de2c44b1f279d..8d952432c8b961e4e0891eb78620615a8ae14f05:/doc/meta.tex diff --git a/doc/meta.tex b/doc/meta.tex index b1b3013..6707c42 100644 --- a/doc/meta.tex +++ b/doc/meta.tex @@ -33,6 +33,7 @@ \&key \=:name :nick :location :pset \+ \\ :superclasses :link :metaclass \\ :slots :instance-initializers :class-initializers \\ + :initargs :initfrags :tearfrags \\ :messages :methods} \end{describe} @@ -48,6 +49,12 @@ \dhead{gf}{setf (sod-class-instance-initializers @) @} \dhead{gf}{sod-class-class-initializers @ @> @} \dhead{gf}{setf (sod-class-class-initializers @) @} + \dhead{gf}{sod-class-initargs @ @> @} + \dhead{gf}{setf (sod-class-initargs @) @} + \dhead{gf}{sod-class-initfrags @ @> @} + \dhead{gf}{setf (sod-class-initfrags @) @} + \dhead{gf}{sod-class-tearfrags @ @> @} + \dhead{gf}{setf (sod-class-tearfrags @) @} \dhead{gf}{sod-class-messages @ @> @} \dhead{gf}{setf (sod-class-messages @) @} \dhead{gf}{sod-class-methods @ @> @} @@ -59,13 +66,6 @@ @> @} \end{describe} -\begin{describe}{mac} - {define-sod-class @ (@^*) \\ \ind - @{ @ @ @}^* \\ - @^* \\ - @
^*} -\end{describe} - \begin{describe*} {\dhead{lmac}{slot @ @ @{ @ @ @}^*} \dhead{lmac}{instance-initializer @ @ @@ -137,39 +137,87 @@ \begin{describe*} {\dhead{cls}{sod-initializer () - \&key :slot :location :class :value-kind :value-form} + \&key :slot :location :class :value} \dhead{cls}{sod-instance-initializer (sod-initializer) - \&key :slot :location :class :value-kind :value-form} + \&key :slot :location :class :value} \dhead{cls}{sod-class-initializer (sod-initializer) - \&key :slot :location :class :value-kind :value-form}} + \&key :slot :location :class :value}} \end{describe*} \begin{describe*} {\dhead{gf}{sod-initializer-slot @ @> @} - \dhead{gf}{sod-initializer-value-kind @ @> @} - \dhead{gf}{sod-initializer-value-form @ @> @}} + \dhead{gf}{sod-initializer-value @ @> @}} \end{describe*} \begin{describe*} {\dhead{gf} - {make-slot-instance-initializer \=@ @ @ - @ @ \+ \\ - @ \&optional @ \- + {make-slot-instance-initializer + \=@ @ @ @ @ \&optional @ \nlret @} \dhead{gf} - {make-slot-class-initializer \=@ @ @ - @ @ \+ \\ - @ \&optional @ \- + {make-slot-class-initializer + \=@ @ @ @ @ \&optional @ \nlret @}} \end{describe*} \begin{describe}{gf} - {make-sod-initializer-using-slot \=@ @ @ - @ @ \+ \\ - @ \&optional @ \- + {make-sod-initializer-using-slot + \=@ @ @ @ @ \&optional @ \nlret @} \end{describe} +\begin{describe}{cls}{sod-initarg () \&key :class :location :name :type} +\end{describe} + +\begin{describe*} + {\dhead{gf}{sod-initarg-class @ @> @} + \dhead{gf}{sod-initarg-name @ @> @} + \dhead{gf}{sod-initarg-type @ @> @}} +\end{describe*} + +\begin{describe}{cls} + {sod-user-initarg (sod-initarg) + \&key :class :location :name :type :default} +\end{describe} + +\begin{describe}{gf} + {make-sod-user-initarg @ @ @ @ + \&optional @ @} +\end{describe} + +\begin{describe}{gf}{sod-initarg-default @ @> @} +\end{describe} + +\begin{describe}{cls} + {sod-slot-initarg (sod-initarg) + \&key :class :location :name :type :slot} +\end{describe} + +\begin{describe}{gf}{sod-initarg-slot @ @> @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg @ @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg @ @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg-using-slot @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe*} + {\dhead{gf}{make-sod-class-initfrag @ @ @ + \&optional @} + \dhead{gf}{make-sod-class-tearfrag @ @ @ + \&optional @}} +\end{describe*} + \begin{describe}{cls}{sod-message () \&key :name :location :class :type} \end{describe} @@ -228,6 +276,17 @@ @> @} \end{describe} +\begin{describe}{fun}{check-method-return-type @ @} +\end{describe} + +\begin{describe}{fun} + {check-method-return-type-against-message @ @} +\end{describe} + +\begin{describe}{fun} + {check-method-argument-lists @ @} +\end{describe} + %%%-------------------------------------------------------------------------- \section{Class finalization protocol} \label{sec:meta.finalization}