I definitely like the hyper stuff how it is; maybe the answer is to
just define an infix:<[[]]> operator which returns the crosswise slice
of a nested list of lists. In any case it could be shunted aside to
some package and certainly does not need to be in core.
David
my @transposed = @matrix>>[0..2];
The thing that makes me wonder about that is whether it builds
anonymous
arrays inside for you, or whether it just flattens everything out.
Obviously in this case it *should* give you arrays.
On the other hand, if you did the standard map transform that hypers
do:
my @transposed = map { $_[0..2] } @matrix
Then it's clearly flattening.
What I'm currently thinking is that Perl is terrible for matrix stuff.
Maybe we should keep it that way, and punt to PDL. But as it stands,
we
have no hope of appeasing the mathematicians in this area without
really
redoing hyper stuff. And I think that the hyper stuff is pretty close
to right for non-matrix purposes, so it would be hard to redo it
without
perturbing what we have.
Luke