I have a draft of a proposition for what I think is proper MMD
dispatching order:

        http://svn.openfoundry.org/pugs/docs/mmd_match_order.txt

Values may be compiled into where clauses which are eventually just
a big given/when behind the scenes, but the order in which they are
checked must be integrated with type checking, and must be sorted to
make sense.

If you cannot define a more particular case of a method in order to
optimize for:

        * speed
        * simplicity

then you lose on a lot of what makes MMD a useful tool for post-oop.

In code which was preplanned for MMD, that was properly ordered, mmd
is useful as a subset of it's behavior - it's just pattern matching.

This is nice, but has none of the extensibility that MMD can offer
if done differently.


On Fri, Jul 08, 2005 at 12:18:51 +0300, Yuval Kogman wrote:
> On Fri, Jul 08, 2005 at 08:50:49 +0000, Luke Palmer wrote:
> 
> > Not unless you want to write the Halting engine that determines that 3
> > is in fact more specific that 2..10.  It's based on definition order,
> > so that if you have dependencies in you condition (which you
> > oughtn't), you'd better define the multis together to get well-defined
> > semantics.
> 
> That seriously sucks.
> 
> Multis rock because they let you append to an interface from your
> perspective.
> 
> If it's just a pretty form of casing, then we aren't gaining
> anything, IMHO.
> 
> -- 
>  ()  Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418  perl hacker &
>  /\  kung foo master: /me groks YAML like the grasshopper: neeyah!!!!!!
> 



-- 
 ()  Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418  perl hacker &
 /\  kung foo master: /me sneaks up from another MIME part: neeyah!!!!!

Attachment: pgp0vv9Yu8MpD.pgp
Description: PGP signature

Reply via email to