X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/1f7d590d9c7b87442c8d8b6424ed4f769d377692..1edb774eed8bea3f6dbde5b02db6ecd209394cf8:/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.