Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- runScoped :: forall resource effect r. (forall x. (resource -> Sem r x) -> Sem r x) -> (resource -> InterpreterFor effect r) -> InterpreterFor (Scoped resource effect) r
- runScopedAs :: forall resource effect r. Sem r resource -> (resource -> InterpreterFor effect r) -> InterpreterFor (Scoped resource effect) r
Documentation
runScoped :: forall resource effect r. (forall x. (resource -> Sem r x) -> Sem r x) -> (resource -> InterpreterFor effect r) -> InterpreterFor (Scoped resource effect) r Source #
Interpreter for Scoped
, taking a resource
allocation function and a parameterized interpreter for the plain
effect
.
withResource
is a callback function, allowing the user to acquire the resource for each program from other effects.
scopedInterpreter
is a regular interpreter that is called with the resource
argument produced by scope
.
Note: This function will be called for each action in the program, so if the interpreter allocates any resources,
they will be scoped to a single action. Move them to withResource
instead.
runScopedAs :: forall resource effect r. Sem r resource -> (resource -> InterpreterFor effect r) -> InterpreterFor (Scoped resource effect) r Source #
Variant of Scoped
in which the resource allocator is a plain action.