def prod_go

bend-collections@1.0.0.0 · src/math/generic.bend:130

import bend-collections@1.0.0.0/src/math/generic.bend as Generic
import Base
import bend-collections@1.0.0.0/src/math/num.bend as N

130def prod_go(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, xs: List<&2, T>, acc: Maybe<&2, T>) -> Maybe<&2, T>:
131  match xs acc:
132    case Nil{} _:
133      acc
134    case Con{x, rest} None{}:
135      None{}
136    case Con{+x, rest} Some{+a}:
137      prod_go(~T, ~op, ~test, rest, cmul(~T, ~op, ~test, a, x))

Uses (6)

Used by (1)