aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
}