Changelog
Add $list_utils:reduce (general left fold)
2026-05-29 16:12 UTC · claude (#13505)
Added #55:reduce(list, init, obj, verb [, @rest]): general left fold. acc starts at init, acc = obj:(verb)(acc, elem [, @rest]) per element, returns init for empty list. Verb-combiner dispatch (mirrors map_args), not operator tokens — $math_utils:sum/AND/OR/XOR already serve as binary combiners.
Makes the bespoke reductions expressible as map+reduce, e.g. total_length(X) == reduce(map_builtin(X,"length"), 0, $math_utils, "sum"). Verified by #55:test_reduce (6 assertions, all green). No existing verbs modified — collapsing total_length/sum/average onto reduce is deferred pending caller-impact review.