aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-02-08 14:00:57 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-02-08 14:01:10 -0500
commit4d7852e27fe41376fdfb6683b7767374cf5e8fc7 (patch)
tree058a6cb2119dc32287a929f090492002e46abb40 /src
parent8d1d9e05d48a219e673b28bb2fb8b45722e44a1a (diff)
Handle other valence of a half-structural function in Under
Diffstat (limited to 'src')
-rw-r--r--src/r1.bqn19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/r1.bqn b/src/r1.bqn
index 2a6b83d9..df7f888f 100644
--- a/src/r1.bqn
+++ b/src/r1.bqn
@@ -497,18 +497,19 @@ structFn ← {
_errIf←{⊢⊘×○(1-𝔽)◶⟨StructErr˙,𝕏⟩}
SE ← IsStructErr _errIf⍟(3≥Type)
- _sfn_ ← {(𝕎⊢)◶⟨𝕏, 𝕩‿𝕗‿𝕘{𝕨𝕏𝕗}⟩}
- Mon←{𝕏⊘E} ⋄ Dy←{E⊘𝕏}
+ _amb_ ← {(𝕎⊢)◶⟨𝕏, 𝕩‿𝕗‿𝕘{𝕨𝕏𝕗}⟩}
+ _mon_ ← {(𝕨𝕗_amb_𝕘𝕩)⊘(𝕎_errIf𝕩)}
+ _dy_ ← {(𝕎_errIf𝕩)⊘(𝕨𝕗_amb_𝕘𝕩)}
k‿v ← Split2 ⟨
"⊢⊣˜∘○⊸⟜⊘◶", ⊢ # ˙ handled specially
"´˝", {r←𝕩⋄{IsArray∘⊢◶⟨E,𝕗_r⟩}}
- "=≠≢", Mon 1 _sfn_ 0
- "<", Mon 0 _sfn_ 1
- "≍", Mon 1 _sfn_ 1 # Dyad combines
- "↕/»«⊔", Dy 1 _sfn_ 1
- "⥊↑↓⌽⍉⊏⊑", 1 _sfn_ 1
- # ">", Mon 2 _sfn_ 1
- # "∾", Mon 2 _sfn_ 1 # Dyad combines
+ "=≠≢", 1 _mon_ 0
+ "<", 0 _mon_ 1
+ "≍", 1 _mon_ 1 # Dyad combines
+ "↕/»«⊔", 1 _dy_ 1
+ "⥊↑↓⌽⍉⊏⊑", 1 _amb_ 1
+ # ">", 2 _mon_ 1
+ # "∾", 2 _mon_ 1 # Dyad combines
# "˘⎉¨⌜",
# "⚇",