Author: lwall Date: 2010-02-28 02:50:16 +0100 (Sun, 28 Feb 2010) New Revision: 29885
Modified: docs/Perl6/Spec/S02-bits.pod Log: [S02] clarify what was meant by "Nil undefined as an item". Modified: docs/Perl6/Spec/S02-bits.pod =================================================================== --- docs/Perl6/Spec/S02-bits.pod 2010-02-27 21:37:52 UTC (rev 29884) +++ docs/Perl6/Spec/S02-bits.pod 2010-02-28 01:50:16 UTC (rev 29885) @@ -13,8 +13,8 @@ Created: 10 Aug 2004 - Last Modified: 24 Feb 2010 - Version: 205 + Last Modified: 27 Feb 2010 + Version: 206 This document summarizes Apocalypse 2, which covers small-scale lexical items and typological issues. (These Synopses also contain @@ -2032,12 +2032,12 @@ you can think of PerlĀ 5 references as a degenerate form of C<Capture> when you want to refer only to a single item. -The empty C<Parcel> is a value with a special name: C<Nil>. It is -the named equivalent of the empty C<()> list. The C<Nil> value is -officially undefined as an item but interpolates as a null list into -list context, and an empty C<Seq> into slice context. An iterator -can never return C<Nil> as an ordinary value, so it is the sentinel -value that marks the end of iteration. +The empty C<Parcel> is a value with a special name: C<Nil>. It is the +named equivalent of the empty C<()> list. The C<Nil> value returns +C<Mu> if you iterate it or try to get a positional value from it, but +interpolates as a null list into flat context, and an empty C<Seq> +into slice context. Since method calls are performed directly on +any object, C<Nil.defined> returns C<True> just as C<().defined> does. Assigning or binding C<Nil> to any scalar container causes the container to throw out any contents and restore itself to an