aboutsummaryrefslogtreecommitdiff
path: root/src/c.bqn
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-16 14:26:54 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-16 14:26:54 -0400
commit198e11ebbeb4d7601bd3d8161d85c848c47ebfed (patch)
tree7a3a197908f83a0c04174ba06b8d67522bb6cdd1 /src/c.bqn
parentfe1f2dd52b99b7ad420ad1b11189255c81954f04 (diff)
Don't allow multiple bodies in immediate blocks
Diffstat (limited to 'src/c.bqn')
-rw-r--r--src/c.bqn3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/c.bqn b/src/c.bqn
index 5d10238a..3bb84371 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -157,7 +157,8 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn
PN←1(∾/∾˜)(∨/⊣)⋄H←cb¬∘PN⊢⋄HE←H∘= # Which bodies have a property
sn←(0‿3‿5‿6+⊑bI)⍋𝕩⋄sp←/𝕩 M bI # Special name index
fx←H 1=sn⋄fr←(fx∨0⊸<)⊸+ft←(2⊸HE⌈2×3⊸HE)sn # Body immediacy ¬fx and type ft
- "Block cases must be of the same kind"_err_(/CB) 1↓cf<»⊸≠fr
+ "Only blocks with explicit arguments can have multiple bodies"_err_(/CB) 1↓cm>fx
+ "Block bodies must be of the same kind"_err_(/CB) 1↓cf<»⊸≠ft
"Special name outside of any block"_err_(/{(0=fi)∧𝕩 M bI}∘𝕩) 0<⊑fr
fsc←(ft⊏0‿2‿3)+3×fx # Special name count