def tl_go_at

bend-collections@1.0.0.0 · src/containers/dynamic_array.bend:440

import bend-collections@1.0.0.0/src/containers/dynamic_array.bend as DynamicArray
import Base

440# The executable to_list is the same indexed walk, compiled at a closed
441# element type; proofs/dynamic_array/closed.bend proves the two agree.
442def tl_go_at(~T: Data, k: Nat, acc: List<&2, T>, r: Array<Maybe<&2, T>> & Maybe<&2, T>) -> Array<Maybe<&2, T>> & List<&2, T>:
443  match k r:
444    case 0n Tuple{a, x}:
445      (a, acc)
446    case 1n+ +m Tuple{a, x}:
447      tl_go_at(~T, m, cons_some(T, x, acc), Array.get(Maybe<&2, T>, a, U32.from_nat(dec1(m))))

Uses (10)

Used by (1)