Author: lwall
Date: 2009-03-07 19:19:29 +0100 (Sat, 07 Mar 2009)
New Revision: 25735

Modified:
   docs/Perl6/Spec/S02-bits.pod
Log:
disallow bare <> as probable p5ism


Modified: docs/Perl6/Spec/S02-bits.pod
===================================================================
--- docs/Perl6/Spec/S02-bits.pod        2009-03-07 17:40:43 UTC (rev 25734)
+++ docs/Perl6/Spec/S02-bits.pod        2009-03-07 18:19:29 UTC (rev 25735)
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <la...@wall.org>
   Date: 10 Aug 2004
-  Last Modified: 4 Mar 2009
+  Last Modified: 7 Mar 2009
   Number: 2
-  Version: 157
+  Version: 158
 
 This document summarizes Apocalypse 2, which covers small-scale
 lexical items and typological issues.  (These Synopses also contain
@@ -2418,7 +2418,7 @@
     $a = \('a', 'b');
 
 Likewise, if bound to a scalar parameter, C<< <a b> >> will be
-treated as a single list object, but if bound to a slurpy parameter,
+treated as a single C<Capture> object, but if bound to a slurpy parameter,
 it will auto-flatten.
 
 But note that under the parenthesis-rewrite rule, a single value will
@@ -2432,6 +2432,15 @@
 To force a single value to become a list object in item context,
 you should use C<< ['a'] >> for clarity as well as correctness.
 
+The degenerate case C<< <> >> is disallowed as a probable attempt to
+do IO in the style of Perl 5; that is now written C<< =<> >>.  (C<<
+<STDIN> >> is also disallowed.)  Empty lists are better written with
+C<()> or C<Nil> in any case because C<< <> >> will often be misread
+as meaning C<('')>.  (Likewise the subscript form C<< %foo<> >>
+should be written C<%foo{}> to avoid misreading as C<@foo{''}.)
+If you really want the angle form for stylistic reasons, you can
+suppress the error by putting a space inside: C<< < > >>.
+
 Much like the relationship between single quotes and double quotes, single
 angles do not interpolate while double angles do.  The double angles may
 be written either with French quotes, C<«$foo @bar[]»>, or

Reply via email to