Author: larry
Date: Tue May 27 16:19:34 2008
New Revision: 14546

Modified:
   doc/trunk/design/syn/S09.pod

Log:
Cleanup bogus use of adverbs on bare terms


Modified: doc/trunk/design/syn/S09.pod
==============================================================================
--- doc/trunk/design/syn/S09.pod        (original)
+++ doc/trunk/design/syn/S09.pod        Tue May 27 16:19:34 2008
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 13 Sep 2004
-  Last Modified: 2 Apr 2008
+  Last Modified: 27 May 2008
   Number: 9
-  Version: 26
+  Version: 27
 
 =head1 Overview
 
@@ -524,29 +524,21 @@
 
     say @dwarves{1};   # Fails: can't map .{1} to a standard .[] index
 
-When a C<:k>, C<:kv>, or C<:p> adverb is applied to a full array,
-the keys returned are always the standard indices.
-
-    my @arr{1,3,5,7,9} = <one two three four five>;
-
-    say @arr:k;           # 0, 1, 2, 3, 4
-
-However, you can specify which set of keys are returned:
-
-    say @arr:k[]          # 0, 1, 2, 3, 4
-    say @arr:k{}          # 1, 3, 5, 7, 9
-
 When C<:k>, C<:kv>, or C<:p> is applied to an array slice, it returns
-the kind of indices that were used to produce the slice, unless the type
-of index is explicitly requested:
+the kind of indices that were used to produce the slice:
 
     @arr[0..2]:p          # 0=>'one', 1=>'two', 2=>'three'
-    @arr[0..2]:p[]        # 0=>'one', 1=>'two', 2=>'three'
-    @arr[0..2]:p{}        # 1=>'one', 3=>'two', 5=>'three'
-
     @arr{1,3,5}:p         # 1=>'one', 3=>'two', 5=>'three'
-    @arr{1,3,5}:p[]       # 0=>'one', 1=>'two', 2=>'three'
-    @arr{1,3,5}:p{}       # 1=>'one', 3=>'two', 5=>'three' 
+
+Adverbs may be applied only to operators, not to terms, so C<:k>,
+C<:kv>, and C<:p> may not be applied to a full array.  However, you
+may apply an adverb to a Zen slice, which can indicate which set of
+keys are desired:
+
+    my @arr{1,3,5,7,9} = <one two three four five>;
+
+    say @arr[]:k;           # 0, 1, 2, 3, 4
+    say @arr{}:k;           # 1, 3, 5, 7, 9
 
 The C<.keys> method also returns the keys of all existing elements.
 For a multidimensional array each key is a list containing one value for
@@ -588,7 +580,7 @@
     say @results[*];              # Same as:  say @results[0..49]
     say @results{*};              # Same as:  say @results{1..100 :by(2)}
 
-You can omit unallocated elements, either by using the :v adverb:
+You can omit unallocated elements, either by using the C<:v> adverb:
 
     say @results[*]:v;            # Same as:  say @results[0..3]
     say @results{*}:v;            # Same as:  say @results{1,3,5,7}
@@ -846,7 +838,7 @@
 need to be, if ever.  So a PDL implementation is free to steal the
 values from these ranges and "piddle" around with them:
 
-    @nums[$min..$max:by(3)]
+    @nums[$min..$max :by(3)]
     @nums[$min..$max]
     @nums[$min..*:by(3)]
     @nums[1..*:by(2)]           # the odds

Reply via email to