On Wed, May 27, 2009 at 2:39 PM, John Macdonald <j...@perlwolf.com> wrote:
> Historically, the name reduce was used (first?) in APL, which also
> provided it as a meta-operator.  op/ would use op to reduce the array
> on the right of the meta-operator.

It's quite possible that APL was the first use of the term "reduce" in
that sense - I know that (reduce) didn't make it into LISP until
relatively late, possibly not until Common Lisp.

> APL was extremely terse,  you could compute almost anything in a single line 
>- Perl golfing
> afficionados have never really caught up, although with the addition
> of Unicode operators Perl 6 could now go ahead.)

Perhaps Perl 6 should not aspire to the expressiveness of APL. :)  As
nice as it is that you can write Conway's Life in a one-liner(*), I
think that a little verbosity now and then is a good thing for
legibility....

-- 
Mark J. Reed <markjr...@gmail.com>


(*) life ←{↑1 ω⌵.^3 4=+/,‾1 0 1◦.ϕ⊂ω}

I haven't tested it, but the above will allegedly compute the next
generation from a Life configuration (input and output represented as
a matrix of 1s and 0s).

Reply via email to