X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/1f7d590d9c7b87442c8d8b6424ed4f769d377692..d5fdd49e70b734b791eb907706f92da5775e2a8b:/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.