I still feel this adds yet another layer of inconsistency and confusion. 
I can't look at a piece of code and know what it does, without referring 
up N lines to the top of the scripts.

How is the infinite loop problem any different from other Halting problems?

Karl

Christian Soeller wrote:
> 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