On Thu, Mar 22, 2012 at 11:07:08AM -0500, Bruce Gray wrote:
> Well, it works in Niecza. It does not (yet) work in Rakudo:
>       15:25 <Util> perl6: my @squares := 0, (-> *@a { @a.elems ** 2 })
> ... *; say ~@squares[^11];
>       15:25 <p6eval> ..niecza v15-4-g1f35f89: OUTPUT<<0 1 4 9 16 25 36 49
> 64 81 100NL>>
>       15:25 <p6eval> ..rakudo 1a468d: OUTPUT<<0 0 0 0 0 0 0 0 0 0 0NL>>

It now works in Rakudo, as of 2012.03-5-g69920db:

   > my @squares = 0, (-> *@a { @a.elems ** 2 }) ... *; say @squares[^11];
   0 1 4 9 16 25 36 49 64 81 100

Also @_ now DTRT again:

    > my @squares = { @_ ** 2 } ... *;  say @squares[^11];
    0 1 4 9 16 25 36 49 64 81 100

    > my @triangle = 1, { @_[*-1] + @_ + 1 } ... *;  say @triangle[^11]
    1 3 6 10 15 21 28 36 45 55 66

Note that Rakudo also doesn't require a binding operation for the array... 
assignment of detectably infinite lists (indicated here by the final 
Whatever term) is supported.

Pm

Reply via email to