def work
bend-kit-camber@0.15.0.1 · camber.bend:148
import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base
148def work(~R: Type, ~P: Data, ~I: Data, ~E: Data, ~O: Data,
149 ~handler: R -> P -> I -> IO(R & Result<&2, &2, E, O>), ~destroy: R -> IO(Unit),
150 resource: R, principal: P, input: I,
151 messages: Chan(Message<R, P, I, E, O>), reply: Chan(Outcome<E, O>)
152) -> IO(Unit):
153 do IO<Unit>:
154 result : R & Result<&2, &2, E, O> <- handler(resource, principal, input)
155 work.return(~R, ~P, ~I, ~E, ~O, ~destroy, messages, reply, result)