On Wed, Nov 26, 2008 at 08:54:50AM +0100, Moritz Lenz wrote:
: 
: 
: Patrick R. Michaud wrote:
: > Currently Rakudo is treating [EMAIL PROTECTED] as though it's
: > prefix:<^> on a List, which S03 says 
: > 
: >     If [prefix:<^> is] applied to a list, it generates a
: >     multidimensional set of subscripts.
: > 
: >     for ^(3,3) { ... } # (0,0)(0,1)(0,2)(1,0)(1,1)(1,2)(2,0)(2,1)(2,2)
: > 
: > So, Rakudo is currently seeing [EMAIL PROTECTED] as following this 
definition,
: > and trying to generate the subscripts (perhaps wrongly).
: 
: Yes, wrongly:
: 08:48 < moritz_> rakudo: say (^(3,3)).perl
: 08:48 < p6eval> rakudo 33212: OUTPUT[[0, 1, 2, 0, 1, 2]␤]
: 08:51 < moritz_> rakudo: say (^(10,3)).perl
: 08:51 < p6eval> rakudo 33212: OUTPUT[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
: 1, 2]␤]
: 
: It counts up first the first index, then the second.
: 
: 
: I see how the specced makes sense for a List of Ints, but not for any
: other list - any ideas from the design team?

My guess is that the list overloading will simply vanish into thin air,
and you'll have to say something like

    ^«(3,3)

to get the current Parrot meaning, and

    [X] ^«(3,3)

or

    ^3 X ^3

to get the specced list meaning.  But other viewpoints are welcome...

Larry

Reply via email to