Hello, everyone~ Here's my patch for S03.
Cheers, Agent Index: D:/projects/Perl6-Syn/S03.pod =================================================================== --- D:/projects/Perl6-Syn/S03.pod (revision 10373) +++ D:/projects/Perl6-Syn/S03.pod (working copy) @@ -170,7 +170,7 @@ SIMPLE OP SIMPLE OP SIMPLE -where C<OP> is includes any standard scalar operators in the five +where C<OP> includes any standard scalar operators in the five precedence levels autoincrement, exponentiation, symbolic unary, multiplicative, and additive; but these are limited to standard operators that are known to return numbers, strings, or booleans. @@ -383,7 +383,7 @@ Two values are never equivalent unless they are of exactly the same type. By contrast, C<eq> always coerces to string, while C<==> always coerces to numeric. In fact, C<$a eq $b> really means "C<~$a === ~$b>" and C<$a == $b> -means "C<+$a === +$b>. +means "C<+$a === +$b>". Note also that, while string hashes use C<eq> semantics by default, object hashes use C<===> semantics. @@ -442,7 +442,7 @@ really wanted to assign a stringified value.) A negated smart match is spelled C<!~~>. -=item * "Unary" C<.> calls its single argument (which must a postfix operator) +=item * "Unary" C<.> calls its single argument (which must be a postfix operator) on C<$_>. (It's not really a unary operator, so we put it in quotes.) =item * The C<..> range operator has variants with C<^> on either @@ -475,7 +475,7 @@ supports the C<Ordered> role. 0..* # 0 .. +Inf - 'a'..* # 'a' .. 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzz... + 'a'..* # 'a' .. 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzz...' *..0 # -Inf .. 0 *..* # "-Inf .. +Inf", really Ordered 1.2.3..* # Any version higher than 1.2.3. @@ -569,7 +569,7 @@ Any .method method truth* match if $_.method Any Regex pattern match match if $_ ~~ /$x/ Any subst substitution match* match if $_ ~~ subst - Any boolean simple expression truth* match if true given $_ + Any boolean simple expression truth* match if $x given $_ Any undef undefined match unless defined $_ Any Whatever default match anything Any Any run-time dispatch match if infix:<~~>($_, $x) @@ -807,7 +807,7 @@ my @a = (5,6); [*] @a; # 5 * 6 = 30 -As with the all metaoperators, space is not allowed inside. The whole +As with all other metaoperators, space is not allowed inside. The whole thing parses as a single token. A reduction operator has the same precedence as a list operator. In fact, @@ -894,7 +894,7 @@ [[;] 1,2,3] # equivalent to [1;2;3] -Builtin reduce operators return the following identity operations: +Builtin reduce operators return the following identity values: [**]() # 1 (arguably nonsensical) [*]() # 1 @@ -1070,7 +1070,7 @@ =head1 Binding -A new form of assignment is present in Perl 6, called "binding," used in +A new form of assignment is present in Perl 6, called "binding", used in place of typeglob assignment. It is performed with the C<:=> operator. Instead of replacing the value in a container like normal assignment, it replaces the container itself. For instance: @@ -1079,7 +1079,7 @@ my $y := $x; $y = 'Perl Hacker'; -After this, both C<$x> and C<$y> contain the string "Perl Hacker," since +After this, both C<$x> and C<$y> contain the string "Perl Hacker", since they are really just two different names for the same variable. There is another variant, spelled C<::=>, that does the same thing at @@ -1184,7 +1184,7 @@ =head1 Argument List Interpolating -Perl 5 forced interpolation of a functions argument list by use of +Perl 5 forced interpolation of a function's argument list by use of the C<&> prefix. That option is no longer available in Perl 6, so instead the C<[,]> reduction operator serves as an interpolator, by casting its operands to C<Capture> objects @@ -1229,7 +1229,7 @@ @$bar = 1,2,3; $bar[] = 1,2,3; -Some lvalues can be rather lengthy, so that second form can help keep +Some lvalues can be rather lengthy, so that the second form can help keep the "arrayness" of the lvalue close to the assignment operator: $foo.bar.baz.bletch.whatever.attr[] = 1,2,3; @@ -1255,7 +1255,7 @@ To interpolate a function's return value, you must say: - push [,] func() + push [,] func(); Within the argument list of a C<[,]>, function return values are automatically exploded into their various parts, as if you'd said: @@ -1346,7 +1346,7 @@ print "Name: $name; Zip code: $zip\n"; } -C<zip> has an infix synonym, the Unicode operator C<¥>, and its the ASCII +C<zip> has an infix synonym, the Unicode operator C<¥>, and its ASCII equivalent C<Y>. To read arrays in parallel like C<zip> but just sequence the values