@@ -38,7 +38,7 @@ a thunk has no scope to declare a new variable. Note however that
38
38
any and all lazy constructs, whether block-based or thunk-based,
39
39
such as gather or async or C<< ==> >> should declare their own C<$/>
40
40
and C<$!> so that the user's values for those variables cannot be
41
- clobbered asyncronously . And this parentheticl remark is starting to
41
+ clobbered asynchronously . And this parenthetical remark is starting to
42
42
be seriously misplaced...)
43
43
44
44
B<Subroutines> (keyword: C<sub>) are non-inheritable routines with
@@ -82,7 +82,7 @@ name within its scope, unless they have an explicit modifier.
82
82
(This is particularly useful when adding to rule sets or when attempting
83
83
to compose conflicting methods from roles.) Abstractly, the C<proto>
84
84
is a generic wrapper around the dispatch to the C<multi>s. Each C<proto>
85
- is instantianted into an actual dispatcher for each scope that
85
+ is instantiated into an actual dispatcher for each scope that
86
86
needs a different candidate list.
87
87
88
88
B<Only> (keyword: C<only>) routines do not share their short names
@@ -1027,7 +1027,7 @@ calling its internal multi dispatcher (the one represented by C<{*}>).
1027
1027
In the case of a C<proto> sub, this mapping can be done at the point
1028
1028
of the call, since there can only be one possible set of positional
1029
1029
names, and the proto to be called can be known at compile time (in
1030
- the absense of CANDO declarations in the outer scopes). So after
1030
+ the absence of CANDO declarations in the outer scopes). So after
1031
1031
1032
1032
proto foo ($x, $y, :$bar, :$baz) {*}
1033
1033
multi foo ($a, $b, :$bar, :$baz) {...}
@@ -1047,7 +1047,7 @@ The C<$x> and C<$y> names above are part of the public API only
1047
1047
because they are named in the C<proto>. Positional parameter names
1048
1048
are never part of the advertised API unless explicitly enabled.
1049
1049
An explicit C<proto> may easily refrain from advertising names by
1050
- declararing positionals with bare sigils:
1050
+ declaring positionals with bare sigils:
1051
1051
1052
1052
proto foo ($, $, :$bar, :$baz) {*}
1053
1053
multi foo ($x, $y, :$bar, :$baz) {...}
@@ -1060,7 +1060,7 @@ if finer control is desired.)
1060
1060
1061
1061
It follows from all this that an intuited proto never has to worry
1062
1062
about supplying the API names of positional parameters. And no proto
1063
- ever has to worry about conficting names in the positionals of the
1063
+ ever has to worry about conflicting names in the positionals of the
1064
1064
multis they dispatch to, since any remapping is handled before that.
1065
1065
1066
1066
=head2 List parameters
@@ -1286,7 +1286,7 @@ so C<self> is not present in the C<**@slice> below:
1286
1286
1287
1287
The C<**> marker is just a variant of the C<*> marker that ends up
1288
1288
requesting parcels when binding (underlyingly calling C<.getarg>) rather
1289
- than requesting individual elements as the flatening C<*> does (underlyingly
1289
+ than requesting individual elements as the flattening C<*> does (underlyingly
1290
1290
calling C<.get>).
1291
1291
1292
1292
=head2 Zero-dimensional argument list
@@ -1532,7 +1532,7 @@ have "list" semantics. If you say
1532
1532
(0..2; 'a'..'c') ==> my @tmp;
1533
1533
for @tmp { .say }
1534
1534
1535
- then you get 0,1,2,'a','b','c'. If you have a multidim array, you
1535
+ then you get 0,1,2,'a','b','c'. If you have a multidimensional array, you
1536
1536
can ask for flattening semantics explicitly with C<flat>:
1537
1537
1538
1538
(0..2; 'a'..'c') ==> my $tmp;
@@ -1897,7 +1897,7 @@ so C<$_> ends up being bound to the outer C<$_> anyway.)
1897
1897
1898
1898
A block may also refer to either C<@_> or C<%_> or both, each of
1899
1899
which will be added to generated signature as a normal readonly
1900
- slurpy pararmeter :
1900
+ slurpy parameter :
1901
1901
1902
1902
{ say $:what; warn "bad option: $_\n" for keys %_; }
1903
1903
@@ -2061,7 +2061,7 @@ significant number of pathological cases that are unacceptably slow
2061
2061
2062
2062
This trait is a suggestion to the compiler that caching is okay. The
2063
2063
compiler is free to choose any kind of caching algorithm (including
2064
- non-expiring, random, lru, pseudo-lru, or adaptive algoritms , or
2064
+ non-expiring, random, lru, pseudo-lru, or adaptive algorithms , or
2065
2065
even no caching algorithm at all). The run-time system is free to
2066
2066
choose any kind of maximum cache size depending on the availability
2067
2067
of memory and trends in usage patterns. You may suggest a particular
@@ -2086,7 +2086,7 @@ around your subroutine.
2086
2086
2087
2087
Specifies the precedence of an operator relative to an existing
2088
2088
operator. C<tighter> and C<looser> precedence levels default to
2089
- being left associative. They define a new precedence level slighty
2089
+ being left associative. They define a new precedence level slightly
2090
2090
tighter or looser than the precedence level on which they're based.
2091
2091
Both C<tighter> and C<looser> may be specified, in which case the new
2092
2092
precedence level is generated midway between the specified levels.
@@ -2293,7 +2293,7 @@ to a readonly parameter never triggers autovivification.
2293
2293
Specifies that the parameter can be modified (assigned to, incremented,
2294
2294
etc). Requires that the corresponding argument is an lvalue or can be
2295
2295
converted to one. Since this option forces an argument to be required,
2296
- it cannot co-exist with the C<?> mark to make an argument optional.
2296
+ it cannot coexist with the C<?> mark to make an argument optional.
2297
2297
(It may, however, be used with C<=> indicating a default, but only
2298
2298
if the default expression represents something that is nameable at
2299
2299
compile time and that can bind as an lvalue, such as
@@ -2326,7 +2326,7 @@ happens, it happens at the point of use, not at the point of binding.
2326
2326
2327
2327
For better visual distinction, such a parameter is declared by
2328
2328
prefixing with a backslash rather than by using C<is parcel> directly.
2329
- The backslash is also more succint ; the trait is there primarily
2329
+ The backslash is also more succinct ; the trait is there primarily
2330
2330
for introspection.
2331
2331
2332
2332
=item C<is copy>
@@ -2524,13 +2524,13 @@ in order, left to right. Note that C<Any> and C<0> are no-ops:
2524
2524
$ctx = callframe(1); # my frame's caller
2525
2525
$ctx = callframe(2); # my frame's caller's caller
2526
2526
$ctx = callframe(3); # my frame's caller's caller's caller
2527
- $ctx = callframe(1,0,1,1); # my frames 's caller's caller's caller
2527
+ $ctx = callframe(1,0,1,1); # my frame 's caller's caller's caller
2528
2528
$ctx = callframe($i); # $i'th caller
2529
2529
2530
2530
Note also that negative numbers are allowed as long as you stay within
2531
2531
the existing call stack:
2532
2532
2533
- $ctx = callframe(4,-1); # my frames 's caller's caller's caller
2533
+ $ctx = callframe(4,-1); # my frame 's caller's caller's caller
2534
2534
2535
2535
Repeating any smartmatch just matches the same frame again unless you
2536
2536
intersperse a 1 to skip the current level:
@@ -3319,7 +3319,7 @@ or the slurpy array:
3319
3319
3320
3320
Each incoming argument is automatically passed through
3321
3321
the C<val()> function, which will attempt to intuit the types of the
3322
- texual arguments such that they may be used in multimethod dispatch.
3322
+ textual arguments such that they may be used in multimethod dispatch.
3323
3323
If C<MAIN> is declared as a set of C<multi> subs, multi dispatch
3324
3324
is performed, and the type information intuited by C<val()> may
3325
3325
be used to distinguish the different signatures:
@@ -3501,7 +3501,7 @@ the time compared to the cost of failing to bind, that tends to argue
3501
3501
for failing over every time. This is also more conducive to inlining,
3502
3502
since it's difficult to rewrite inlined calls. In any case, nowadays
3503
3503
a C<proto> declaration is considered to be a kind of C<only> sub,
3504
- and needs to handle autothreading similaraly if the signature of
3504
+ and needs to handle autothreading similarly if the signature of
3505
3505
the C<proto> excludes junctions.
3506
3506
3507
3507
=head2 Introspection
0 commit comments