On Thu, 31 Oct 2002, Damian Conway wrote:
: Larry wrote:
: 
: > That's almost a reduce.  Pity you have to include a variable.
: > But since rvalues are illegal on the left side of an assignment, we
: > *could* go as far as to say that
: > 
: >      0 [+=] @b;   # sum
: >      1 [*=] @b;   # product
: >     '' [~=] @b;   # cat
: > 
: > dwim into reduce operators rather than being illegal.
: 
: ETOOCLEVERBYHALF, IMHO. ;-)

That's why I said "*could*".  But I couldn't not say it.  :-)

: I'd much rather see these common reductions be predefined C<sum>,
: C<product>, and C<cat> methods of Array, and the more obscure
: and bizarre reductions be explicitly marked with a C<reduce>:
: 
:       my $countersequence = reduce {$^x-$^y}, @b

I agree.

Larry

Reply via email to