def fold_value

stelliferous@0.0.2.0 · proofs/traversal_witness.bend:227

import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness
import Base
import stelliferous@0.0.2.0/traversal_array.bend as Traversal

227def fold_value(~Reader: Type,~Element: Data,~Accumulator: Data,~Context: Data,
228  ~combine: Accumulator -> Element -> Accumulator,-reader: Reader,-accumulator: Accumulator,+position: U32,context: Context,
229  -result: Reader & Element,sample: Sample<Reader,Element,reader,result>) ->
230  FoldEvidence<Reader,Accumulator,Context,reader,
231    Traversal.fold_value(~Reader,~Element,~Accumulator,~Context,~combine,accumulator,position,context,result)>:
232  match sample:
233    case Sample{value,equation}:
234      %Equal.sym(Reader & Element,result,(reader,value),equation) :
235        FoldEvidence<Reader,Accumulator,Context,reader,
236          Traversal.fold_value(~Reader,~Element,~Accumulator,~Context,~combine,accumulator,position,context,_)>
237      FoldEvidence{combine(accumulator,value),(position + 1 : U32),context,{==}}

Uses (8)

Used by (1)