def fold_value

stelliferous@0.0.2.0 · traversal_array.bend:79

import stelliferous@0.0.2.0/traversal_array.bend as TraversalArray
import Base

79# Ordered folds share the same state/counter and preserve the combine order.
80# Element and Accumulator can differ; no associativity assumption is required.
81def fold_value(~Reader: Type,~Element: Data,~Accumulator: Data,~Context: Data,
82  ~combine: Accumulator -> Element -> Accumulator,accumulator: Accumulator,
83  position: U32,context: Context,result: Reader & Element) -> State<&1,&2,Reader,Accumulator,Context>:
84  (reader,value) = result
85  State{reader,combine(accumulator,value),(position + 1 : U32),context}

Uses (5)

Used by (3)