Author: larry
Date: Fri May 5 15:27:43 2006
New Revision: 9120
Modified:
doc/trunk/design/syn/S09.pod
doc/trunk/design/syn/S11.pod
Log:
Typos from Dr.Ruud and Marcus Laire.
Modified: doc/trunk/design/syn/S09.pod
==============================================================================
--- doc/trunk/design/syn/S09.pod (original)
+++ doc/trunk/design/syn/S09.pod Fri May 5 15:27:43 2006
@@ -182,7 +182,7 @@
which is equivalent to
- @array.postcircumfix:<[ ]>( <== @x[0] <== @x[1] <== @x[2]...);
+ @array.postcircumfix:<[ ]>( <== @x[0] <== @x[1] <== @x[2]..*);
Alternately, use a multislice array, indicated by a double C<@@> sigil:
@@ -195,7 +195,7 @@
my @@x;
@@x <== %hash.keys.grep: {/^X/};
@@x <== =<>;
- @@x <== 1...;
+ @@x <== 1..*;
@@x <== gather { loop { take rand 100 } };
%hash{@@x}
@@ -207,7 +207,7 @@
my @x;
@x <== %hash.keys.grep: {/^X/};
@x <== =<>;
- @x <== 1...;
+ @x <== 1..*;
@x <== gather { loop { take rand 100 } };
%hash{@@x} # multidimensional
@@ -308,7 +308,7 @@
just like scalars -- the main caveat is that you have to use
binding rather than assignment to set one without copying:
- @b := @a[0...:by(2)]
+ @b := @a[0..(*):by(2)]
With PDLs in particular, this might alias each of the individual
elements rather than the array as a whole. So modifications to @b
@@ -340,7 +340,7 @@
semicolon-separated list of slice specifiers, also known as a multislice.
A three-dimensional slice might look like this:
- @x[0..10; 1,0; 1...:by(2)]
+ @x[0..10; 1,0; 1..(*):by(2)]
It is up to the implementation of C<@x> to decide how aggressively
or lazily this subscript is evaluated, and whether the slice entails
@@ -412,9 +412,9 @@
@nums[$min..$max:by(3)]
@nums[$min..$max]
- @nums[$min...:by(3)]
- @nums[1...:by(2)] # the odds
- @nums[0...:by(2)] # the evens
+ @nums[$min..(*):by(3)]
+ @nums[1..(*):by(2)] # the odds
+ @nums[0..(*):by(2)] # the evens
That's all just the standard Perl 6 notation for ranges. Additional
syntactic relief is always available as long as it's predeclared
@@ -440,15 +440,7 @@
0 .. Inf :by(2)
-That why we have postfix C<...> to mean C<..Inf>. But then if you
-leave out the first argument:
-
- ...:by(2)
-
-you've written the yada-yada-yada operator, which is actually a term
-that will not produce an infinite range for you. Don't do that.
-
-Maybe you should just find some nice Unicode characters for your operators...
+That's why we have postfix C<..*> to mean C<..Inf>.
=head1 PDL signatures
@@ -700,7 +692,7 @@
C<.keys>, C<.values>, or C<.kv>, it calls C<%hash.iterator()> to
start one. In scalar context, C<.iterator> returns an iterator object.
In list context, it returns a lazy list fed by the iterator. It must
-be possible for a hash to be in more than one iterator at at time,
+be possible for a hash to be in more than one iterator at a time,
as long as the iterator state is stored in a lazy list.
However, there is only one implicit iterator (the C<each> iterator)
that works in scalar context to return the next pair. [Or maybe not.]
Modified: doc/trunk/design/syn/S11.pod
==============================================================================
--- doc/trunk/design/syn/S11.pod (original)
+++ doc/trunk/design/syn/S11.pod Fri May 5 15:27:43 2006
@@ -342,4 +342,4 @@
It's not necessary to force Perl 6 if the interpreter or command
specified already implies it, such as use of a "C<#!/usr/bin/perl6>"
shebang line. Nor is it necessary to force Perl 6 in any file that
-beings with the "class" or "module" keywords.
+begins with the "class" or "module" keywords.