Trey Harris wrote:

> Yes.  This is my fear of hyperoperation being the default for normal
> aggregates.  Loops--and large, multiply-nested, potentially-infinite
> ones--can spring out of code that doesn't look loopy at all.  Erm... you
> know what I mean. :-)
> 
> Karl, do you have any objection to marking aggregates for which
> hyperoperation is to be the default?  Then you could say:
> 
> my <mumble> @foo, @bar;  # Are the parens required in p6?
>  # or
> my (@foo, @bar) is <mumble>; # Can you distribute properties?
> <...>
> @foo += @bar;
> 
> where <mumble> is matrix, hyper, or something along those lines (choosing
> great names is Larry, Damian and Allison's jobs, not mine :-)
> 
> If we simply made such hyperoperated aggregates builtins rather than
> requiring user-defined classes, this would offer a compromise, would it
> not?

This is a good compromise. The numerics person might even be able to say:

   use default => hyperops; # somewhere at the top of your script
   @res = @foo * sqrt(@bar);

while brent and others can do their CGI scripts without having to wait 
for the end of the known Perl universe.


Reply via email to