aboutsummaryrefslogtreecommitdiff
path: root/rt.bqn
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-10-31 20:01:26 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-10-31 20:01:26 -0400
commit743ca62f5165c8c912feb509ca86303540dec6d6 (patch)
tree0b18f7ae41aab803ecf962002062e705ba0ed75a /rt.bqn
parente8a14e107c4865d1d1f6cf4895c9e11015ed3503 (diff)
_fillBy_ implementation
Diffstat (limited to 'rt.bqn')
-rw-r--r--rt.bqn8
1 files changed, 7 insertions, 1 deletions
diff --git a/rt.bqn b/rt.bqn
index 3dd727a5..c0ae860b 100644
--- a/rt.bqn
+++ b/rt.bqn
@@ -6,7 +6,13 @@ glyphs ← ∾ •Import "src/glyphs.bqn"
vm ← •Import "vm.bqn"
FillFn ← (⊑1↑0↑⥊)⊘{𝕩˙⌾⊢ <𝕨}
-_fillBy_ ← {𝕘⋄𝔽}
+_fillBy_ ← {
+ r←𝕨𝔽x←𝕩 ⋄ G←𝔾
+ 𝕨({
+ _f ← {(3⌊•Type)◶⟨𝔽,0,' ',⊢⟩}
+ (FillFn⎊(!˙)_f 𝕨) G FillFn _f x
+ }FillFn⊢)⎊⊢⍟(0=•Type∘⊢) r
+}
GroupLen ← {(𝕨⌈≠)⊸↑0 FillFn≠¨⊔𝕩}
extra ← ⟨ •Type, FillFn, ⋆⁼, GroupLen, ∾⊔∘⊢, _fillBy_ ⟩
provide ← { g←𝕩∊glyphs ⋄ (⍋⍋g)⊏extra∾•BQN∘⥊¨g/𝕩 } ∾need