From da6694e6cb0755d6a232676808ee96cd5c06ef55 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 29 Nov 2021 21:18:19 -0500 Subject: Remove partial 2-modifier application from the spec and docs --- docs/spec/evaluate.html | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'docs/spec/evaluate.html') diff --git a/docs/spec/evaluate.html b/docs/spec/evaluate.html index 12e0338c..13d0c455 100644 --- a/docs/spec/evaluate.html +++ b/docs/spec/evaluate.html @@ -64,7 +64,7 @@

In each case the constituent expressions are evaluated in reverse source order: Right, then Called, then Left. Then the expression's result is obtained by calling the Called value on its parameters. A left argument of nothing is not used as a parameter, leaving only a right argument in that case. The type of the Called value must be appropriate to the expression type, as indicated in the "Types" column. For function application, a data type (number, character, or array) is allowed. It is called simply by returning itself. Although the arguments are ignored in this case, they are still evaluated. A braced construct is evaluated by binding the parameter names given in columns L and R to the corresponding values. Then if all parameter levels present have been bound, its body is evaluated to give the result of application.

Modifiers that are evaluated when they receive operands are called immediate. Other modifiers, including primitives and some kinds of block, simply record the operands and are called deferred. The result of applying a deferred modifier once is called a derived function.

-

The following rules always create derived operations, either 1-modifiers or derived functions. A derived operation is identified by the rule that created it, and the values of its parts.

+

The rules for trains create another kind of derived function. A derived function is identified by the rule that created it, and the values of its parts.

@@ -76,18 +76,6 @@ - - - - - - - - - - - - @@ -101,4 +89,4 @@
_mod2_( subject | Func ){𝔽 _C_ R}
Operand_mod2_{L _C_ 𝔽}
Operand Derv Fork
-

As with applications, all expressions are evaluated in reverse source order before doing anything else. Then a result is formed without calling the center value. Its behavior as a function is described in the rightmost column, using L, C, and R for the results of the expressions in the left, center, and right columns, respectively. For the first two rules (partial application), the given operand is bound to the 2-modifier: the result is a 1-modifier that, when called, calls the center 2-modifier with the bound operand on the same side it appeared on and the new operand on the remaining side. A train is a function that, when called, calls the right-hand function on all arguments, then the left-hand function, and calls the center function with these results as arguments.

+

A train is a function that, when called, calls the right-hand function on all arguments, then the left-hand function, and calls the center function with these results as arguments. As with applications, all expressions are evaluated in reverse source order before doing anything else. Then a result is formed without calling the center value. Its behavior as a function is described in the rightmost column, using L, C, and R for the results of the expressions in the left, center, and right columns, respectively.

-- cgit v1.2.3