def build

bend-kit-camber@0.15.0.1 · camber.bend:324

import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base

324def build(~K: Data, ~R: Type, ~E: Data, ~create: K -> Nat -> IO(Result<&2, &1, E, R>), ~destroy: R -> IO(Unit),
325  remaining: Nat, +config: K, resources: List<R>
326) -> IO(Result<&2, &1, E, List<R>>):
327  match remaining:
328    case 0n:
329      IO.pure(Result<&2, &1, E, List<R>>, Done{resources})
330    case 1n+ +p:
331      do IO<Result<&2, &1, E, List<R>>>:
332        result : Result<&2, &1, E, R> <- create(config, p)
333        build.step(~R, ~E, ~destroy, result, resources, next => build(~K, ~R, ~E, ~create, ~destroy, p, config, next))

Uses (8)

Used by (1)