X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/e0808c472145fc81e52898bc9ac289e10c4f4f41..1edb774eed8bea3f6dbde5b02db6ecd209394cf8:/doc/cutting-room-floor.tex diff --git a/doc/cutting-room-floor.tex b/doc/cutting-room-floor.tex index f4b19b3..5590f45 100644 --- a/doc/cutting-room-floor.tex +++ b/doc/cutting-room-floor.tex @@ -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.