> >  ($obj1, $obj2)->foo(@args);
   > 
   > Is that merely sugar for:
   > 
   >     # errr, $_.foo(@args) ?
   >     $_->foo(@args) foreach($obj1, $obj2);

No. What you showed would be achieved with either a hyperoperation:

        ($obj1, $obj2)^.foo(@args);

or a superposition:
        
        any($obj1, $obj2).foo(@args);


What I was proposing was that, since:

        method foo ( $me : $big, $boy ) {...}

can be called via either of:

        foo $obj: @args;
or: 
        $obj.foo(@args);

then, by analogy:

        method foo ( $me, $again : $big, $boy ) {...}

should be able to be called via either of:

        foo $obj1, $obj2 : @args;
or:
        ($obj1, $obj2).foo(@args);


   > or is there something more interesting going on?

The latter. :-)


   > Maybe we need a method call hyperoperator.  I didn't just say that.

Since we already have a method call (non-hyper)operator, and since the
hyper-prefix will "hype" *any* operator, we already have a method
call hyperoperator:

        # method call              # method hyper-call
        $obj.method(@args)   -->   @objlist^.method(@args)


   > > PS: I'd just like to point out that people gasped in horror when
   > >     I presented this idea at YAPC::NA::2001 as part of the
   > >     (soon-to-be-released) Klingon binding of Perl. ;-)
   > 
   > I'll add my own, now.

nuch SoH! bIQambogh DaqDaq qaHoH!

DamIan!

Reply via email to