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

Reply via email to