Buddha Buck wrote:
> If I'm stepping on toes here, please tell me...
>
See my other message today for the RFCs I'm thinking of writing. Buddha--you
and I should probably sought out offline which of us will write what RFC.
> RFC 169v2: Matrix Indexing
> Cover my $matrix[$x;$y;$z] syntax
> Add Jeremy's $matrix[$listref] syntax
> Discuss why two ways of doing it.
> Move index iterators to new RFC
> Move matrix slicing to new RFC
> Move @#matrix to new RFC
>
I'd like to split this into more RFCs as I suggested earlier.
> RFC X+1: Matrix Index Iterators
> Explain the issue
> Present ^i,^j syntax (and why IMHO it has problems)
> Present @* syntax (and why IMHO it is ugly ;-) )
> Ask for better alternatives.
>
We need to do a lot of work to sort out what these really do!
> A new proposal:
>
> RFC X+3: Flattening Matrices
> Present @array = flatten(@matrix), which returns the elements of
@matrix
> as a 1-dimensional (sparse) array.
> Discuss the efficiency of this
> How to undo?
>
If they look like LOLs, then an extension I'm already writing to RFC 91 will
provide a flatten() that does exactly this.
> A needed RFC that I'm not confident to write, but I feel it is needed:
>
> RFC X+4: Syntax for Matrix Literals.
>
I'll be writing one that uses LOLs plus some new attributes. The alternative
I suggested to Buddha in a private email uses a new data type:
|mat = [ [1,2,3],
[4,5,6],
[7,8,9] ];
|row_1 = |mat[1;] ;
If we use this approach we'd need to show how this syntax fits in with
normal lists. I won't be RFCing this though, because I tried to convince
myself out of using LOLs plus attributes last night, and I didn't succeed.
We also need an 'overview' RFC to tie it all together. Some of this can come
from the existing RFC 169.