phase: 20.49 COMPLETE; 20.50 Flow+String minimal reps; 20.51 selfhost v0/v1 minimal (Option A/B); hv1-inline binop/unop/copy; docs + run_all + CURRENT_TASK -> 21.0

This commit is contained in:
nyash-codex
2025-11-06 15:41:52 +09:00
parent 2dc370223d
commit 77d4fd72b3
1658 changed files with 6288 additions and 2612 deletions

36
apps/libs/array_ext.hako Normal file
View File

@ -0,0 +1,36 @@
// ArrayExtBox: tiny helpers for arrays
static box ArrayExtBox {
each(arr, fn) {
local i = 0
local n = arr.size()
loop (i < n) { fn(arr.get(i), i) i = i + 1 }
return arr
}
map(arr, fn) {
local out = []
local i = 0
local n = arr.size()
loop (i < n) { out.push(fn(arr.get(i))) i = i + 1 }
return out
}
filter(arr, fn) {
local out = []
local i = 0
local n = arr.size()
loop (i < n) {
local v = arr.get(i)
if fn(v) { out.push(v) }
i = i + 1
}
return out
}
join(arr, delim) {
local n = arr.size()
if n == 0 { return "" }
local s = arr.get(0)
local i = 1
loop (i < n) { s = s + delim + arr.get(i) i = i + 1 }
return s
}
}