From 03dc07bf986051308342e7182fdb745f669f5bd2 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 27 Nov 2021 21:48:20 -0500 Subject: Specify predicates --- docs/spec/grammar.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/spec/grammar.html') diff --git a/docs/spec/grammar.html b/docs/spec/grammar.html index 457fd039..99058319 100644 --- a/docs/spec/grammar.html +++ b/docs/spec/grammar.html @@ -84,8 +84,8 @@ | headW ( F | "𝕊" ) "˜" "⁼" headX | ( F | "𝕊" ) "˜"? "⁼" -

A braced block contains bodies, which are lists of statements, separated by semicolons and possibly preceded by headers, which are separated from the body with a colon. Multiple bodies allow different handling for various cases, which are pattern-matched by headers. For an immediate block there are no inputs, so there can only be one possible case and one body. Functions and modifiers allow any number of "matched" bodies, with headers that have arguments, followed by at most two "main" bodies with either no headers or headers without arguments. If there is one main body, it is ambivalent, but two main bodies refer to the monadic and dyadic cases.

-
BODY     = PROGRAM
+

A braced block contains bodies, which are lists of statements, separated by semicolons and possibly preceded by headers, which are separated from the body with a colon. A non-final expression can be made into a predicate by following it with the separator-like ?. Multiple bodies allow different handling for various cases, which are pattern-matched by headers. For an immediate block there are no inputs, so there can only be one possible case and one body. Functions and modifiers allow any number of "matched" bodies, with headers that have arguments, followed by at most two "main" bodies with either no headers or headers without arguments. If there is one main body, it is ambivalent, but two main bodies refer to the monadic and dyadic cases.

+
BODY     = ? ( STMT  | EXPR ? "?" ? )* STMT ?
 FCase    = ? FuncHead ":" BODY
 _mCase   = ? _m1Head  ":" BODY
 _cCase_  = ? _m2Head_ ":" BODY
-- 
cgit v1.2.3