Erik Lechak wrote:
> 2)  RFC 082: Arrays: Apply operators element-wise in a list context
> (hyper operators)
> and
> 3)  Special variable representing index of array in foreach structure
> "$#" maybe (not in apocolypse3, I think)
>
Hi Eric. Thanks for your comments. Unfortunately it's a little early for
detailed consideration of vector and matrix operations, which will be
covered in more detail in a later Apocolypse. However, here's a couple of
pointers from the RFCs that may appear in some form in Larry's later
musings.

First, check out:
  http://dev.perl.org/rfc/207.html

This provides looping indices for multidimensional arrays. Please read RFCs
202-206 first though, since RFC 207 draws heavily on them.

Next, note that hyper-operators are a bit smarter than the behaviour you
indicate. Most notably, they 'broadcast' lower dimensionality structures to
the highest dimensionality structure. We're only up to 1-dim structures in
the Apocolypses so far, so for now that just means that
  @a = @b ^+ 1;
works as it should. This is a more interesting issue when, for instance,
broadcasting a vector across a matrix, but now I'm getting ahead of
myself...

Finally, note that there is an RFC which can simplify iteration through
lists n-at-a-time:
  http://dev.perl.org/rfc/90.html

So you can then pull the first element from each list with:
  my ($a,$b,$c) = merge(@a,@b,@c)


Reply via email to