X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/bb80145308ea388d7c6ed5336c061340e78f66e8..12949379840101e2d65883f29c5e8f0f6de49e9c:/doc/cutting-room-floor.tex diff --git a/doc/cutting-room-floor.tex b/doc/cutting-room-floor.tex index c8f241b..5590f45 100644 --- a/doc/cutting-room-floor.tex +++ b/doc/cutting-room-floor.tex @@ -7,7 +7,7 @@ %%%----- Licensing notice --------------------------------------------------- %%% -%%% This file is part of the Sensble Object Design, an object system for C. +%%% This file is part of the Sensible Object Design, an object system for C. %%% %%% SOD is free software; you can redistribute it and/or modify %%% it under the terms of the GNU General Public License as published by @@ -153,7 +153,8 @@ edge from each class to each of its direct superclasses. This is the In order to resolve inheritance of items, we define a \emph{class precedence list} (or CPL) for each class, which imposes a total order on that class's superclasses. The default algorithm for computing the CPL is the \emph{C3} -algorithm \cite{fixme-c3}, though extensions may implement other algorithms. +algorithm \cite{barrett-1996:monot-super-linear-dylan}, though extensions may +implement other algorithms. The default algorithm works as follows. Let $C$ be the class whose CPL we are to compute. Let $X$ and $Y$ be two of $C$'s superclasses.