Ok, I will un-warnock myself here :)

As of r5674 in the Pugs tree, the Perl6::MetaModel now supports all the A12 dispatch orders.

    :canonical      # canonical dispatch order
    :ascendant      # most-derived first, like destruction order
    :descendant     # least-derived first, like construction order
    :preorder       # like Perl 5 dispatch
    :breadth        # like multimethod dispatch

For :descendant I just did a reverse of the :ascendant order. I am not sure that is truly sane or not, but it seemed to make sense to me.

And after some discussion on #perl6 I decided to make 'C3' the algorithm of choice for the :ascendant ordering, and also to make :ascendant the :canonical ordering (since it makes MI sane, I mean how could you go wrong).

Of course all this can change if @Larry decides differently :)

Anyway, back to $work :)

Stevan


Reply via email to