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/grammar.html | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'docs/spec/grammar.html') diff --git a/docs/spec/grammar.html b/docs/spec/grammar.html index d28fa55b..8c002fb6 100644 --- a/docs/spec/grammar.html +++ b/docs/spec/grammar.html @@ -23,16 +23,14 @@ list = "⟨" ? ( ( EXPR )* EXPR ? )? "⟩" subject = atom | ANY ( "‿" ANY )+ -

Starting at the highest-order objects, modifiers have fairly simple syntax. In most cases the syntax for and is the same, but only can be used for modified assignment. The export arrow can be used in the same ways as , but it can also be used at the beginning of a header to force a namespace result, or with no expression on the right in an EXPORT statement.

+

Starting at the highest-order objects, modifiers have simple syntax. In most cases the syntax for and is the same, but only can be used for modified assignment. The export arrow can be used in the same ways as , but it can also be used at the beginning of a header to force a namespace result, or with no expression on the right in an EXPORT statement.

ASGN     = "←" | "⇐" | "↩"
 _m2Expr_ = _mod2_
          | _c_ ASGN _m2Expr_
 _m1Expr  = _mod1
-         | _mod2_ ( subject | Func )  # Right partial application
-         | Operand _mod2_             # Left partial application
-         | _m  ASGN _m1Expr
+         | _m  ASGN _m1Expr
 
-

Functions can be formed by fully applying modifiers or as trains. Modifiers are left-associative, so that the left operand (Operand) can include modifier applications but the right operand (subject | Func) cannot. Trains are right-associative, but bind less tightly than modifiers. Assignment is not allowed in the top level of a train: it must be parenthesized.

+

Functions can be formed by applying modifiers, or with trains. Modifiers are left-associative, so that the left operand (Operand) can include modifier applications but the right operand (subject | Func) cannot. Trains are right-associative, but bind less tightly than modifiers. Assignment is not allowed in the top level of a train: it must be parenthesized.

Derv     = Func
          | Operand _mod1
          | Operand _mod2_ ( subject | Func )
-- 
cgit v1.2.3