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