File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -16,8 +16,8 @@ Synopsis 6: Subroutines
16
16
17
17
Created: 21 Mar 2003
18
18
19
- Last Modified: 8 Nov 2011
20
- Version: 153
19
+ Last Modified: 23 Jan 2012
20
+ Version: 154
21
21
22
22
This document summarizes Apocalypse 6, which covers subroutines and the
23
23
new type system.
@@ -2185,6 +2185,11 @@ Likewise 0-ary functions parse as listops. Use C<< term:<foo> >>
2185
2185
(or a constant or enum declaration) to declare a term that expects
2186
2186
no arguments.
2187
2187
2188
+ Because these traits have an immediate declarative effect, it is
2189
+ illegal to apply them to a C<multi>, or to any post-declared function.
2190
+ More generally, any such language-bending declaration must follow
2191
+ the same lexical scoping rules that a macro does.
2192
+
2188
2193
=item C<is assoc>
2189
2194
2190
2195
Specifies the associativity of an operator explicitly. Valid values are:
@@ -2205,6 +2210,9 @@ and other operators defined at that level are required to be the same.
2205
2210
Specifying an C<assoc> without an explicit C<equiv> substitutes a default
2206
2211
C<equiv> consistent with the associativity, as shown in the final column above.
2207
2212
2213
+ Because this trait has an immediate declarative effect, it is illegal
2214
+ to apply it to a C<multi>, or to any post-declared function.
2215
+
2208
2216
=item C<PRE>/C<POST>
2209
2217
2210
2218
These phasers declare statements or blocks that are to be unconditionally
You can’t perform that action at this time.
0 commit comments