aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-06-01 17:12:51 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-06-01 17:12:51 -0400
commitd34927a5589b67c0a73bee42904fffe647b6c534 (patch)
tree302572b1a5525d5b17386d32f5ffd0e85f60853f
parent4482773ad7b9d52dc05f77ec372029414f74663b (diff)
Clean up _eachm and _fold reference definitions
-rw-r--r--spec/reference.bqn16
1 files changed, 4 insertions, 12 deletions
diff --git a/spec/reference.bqn b/spec/reference.bqn
index b6a06d29..afd8ccfb 100644
--- a/spec/reference.bqn
+++ b/spec/reference.bqn
@@ -81,23 +81,15 @@ Rank ← 0⊑≢∘≢
Length ← (0<Rank)◶⟨1⋄0⊑≢⟩
_eachm←{
- r←⥊𝕩 ⋄ F←𝔽
- E←(≠r)⊸≤◶{r↩r𝕩_amend˜F𝕩⊑r⋄E𝕩+1}‿⊢
- E 0 ⋄ (≢𝕩)⥊r
+ (≢𝕩) ⥊ 0 𝔽{𝕨 (+⟜1 𝕊 𝔽∘⊑ 𝕨_amend ⊢)⍟(<⟜≠) 𝕩} ⥊𝕩
}
-{ Identity ↩ 𝕨˙⊸=◶Identity‿𝕩 }´¨ ⟨
- ×‿1, ¬‿1
- ⌊‿∞ , ⌈‿¯∞
- ∨‿0 , ∧‿1
- ≠‿0 , =‿1
- >‿0 , ≥‿1
-⟩
+# Re-add identities for redefined functions
+identity { f‿i←𝕨 ⋄ f˙⊸=◶𝕩‿i }´↩ ⟨ ×‿1, ∨‿0, ∧‿1 ⟩
_fold←{
! 1==𝕩
l←≠v←𝕩 ⋄ F←𝔽
r←𝕨 (0<l)◶{𝕩⋄Identity f}‿{l↩l-1⋄l⊑𝕩}⊘⊣ 𝕩
- {r↩(𝕩⊑v)F r}¨(l-1)⊸-¨↕l
- r
+ l {𝕨 -⟜1⊸(⊣𝕊⊑⟜v⊸F)⍟(>⟜0) 𝕩} r
}