On Sat, 12 Oct 2002, Larry Wall wrote:
: The precedence is screwed up though.  It'd have to be
: 
:     use Acme[ (1;17..) | (2;0..) ];

Or maybe this:

    use Acme[1;17..] |
        Acme[2;0..];

That doesn't, of course, express any preference for one version over another,
since | logically happens in parallel universes, in constant time.  It also
doesn't let you pass different arguments to different versions.  It does, however,
let you try using differently named modules that provide the same interface:

    use Acle[1;17..] |
        Acme[1;13..] |
        Acne[1;14..];

That syntax doesn't, however, let you alias the interface to a single name.
Hmm.

    class MyAc is really(Acle[1;17..] | Acme[1;13..] | Acne[1;14..]);
    use MyAc 1,2,3;

Seems a little odd to do the "use" on the alias, but it seems like it could
work.  I'm not quite sure when a class wave function collapses though...

Larry

Reply via email to