On May 23, 2009 11:31:35 pm John M. Dlugosz wrote:
> Henry Baragar Henry.Baragar-at-instantiated.ca |Perl 6| wrote:
> >>>   > sub f2 (@y) {say @y.WHAT; say +...@y}; f2(Nil);
> >>>
> >>>   Array()
> >>>   1
> >>
> >> Why doesn't +...@y produce 0, not 1?  It's an empty list.
> >
> > From rakudo:
> >     > sub f2 (@y) {say @y[0]}; f2(Nil);
> >
> >     Nil()
> >
> > Henry
>
> Uh, @y is an Array of one item, that one item being Nil.
>
> I think the intent was to be an empty list.  Nil is not supposed to go
> into lists, but to become nothing when used in such a way.  Wrapping Nil
> into a list when it wasn't a list at all to begin with is totally
> missing the point.  And where did the wrapping Array come from?  
>
Good question, since Nil does Positional, as evidenced by rakudo:
        > say Nil ~~ Positional
        1
Should report this as a bug?

Henry

> At its
> simplest, Nil is an object whose Positional personality shows an empty
> list, and that's what the @ variable uses.
>
> --John

-- 

Henry Baragar
Instantiated Software
416-907-8454 x42

Reply via email to