License | See the header comment of the source file of this module. |
---|---|
Maintainer | hisaket@outlook.jp |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- type Scoped = ScopedP ()
- innerScopedP :: Member (ScopedP path resource (Bundle es)) r => path -> Sem es a -> Sem r a
- injScopedP :: forall effect es path resource r a. (Member (ScopedP path resource (Bundle es)) r, Member effect es) => Sem (ScopedP path resource effect ': r) a -> Sem r a
- unbundleScopedP :: Member (ScopedP path resource effect) r => Sem (ScopedP path resource (Bundle '[effect]) ': r) a -> Sem r a
- weakenScopedP :: forall es0 es1 path resource r a. (Member (ScopedP path resource (Bundle es1)) r, Members es0 es1, KnownList es0) => Sem (ScopedP path resource (Bundle es0) ': r) a -> Sem r a
- transformScopedP :: Member (ScopedP path resource e1) r => (forall rInitial x. e0 (Sem rInitial) x -> e1 (Sem rInitial) x) -> Sem (ScopedP path resource e0 ': r) a -> Sem r a
- scoped :: Member (Scoped resource effect) r => InterpreterFor effect r
- scopedP :: forall path resource effect r. Member (ScopedP path resource effect) r => path -> InterpretersFor '[effect, Input path] r
- scopedP_simple :: forall e path resource effect r a. Member (ScopedP path resource effect) r => path -> InterpreterFor effect r
- scopedP_local :: forall e path resource effect r a. Member (ScopedP path resource effect) r => (resource -> resource) -> path -> InterpreterFor effect r
- runScopedP :: forall path resource effect r. (forall x. path -> (resource -> Sem r x) -> Sem r x) -> (resource -> InterpreterFor effect r) -> InterpreterFor (ScopedP path resource effect) r
- data ScopedP path resource effect m a
Documentation
innerScopedP :: Member (ScopedP path resource (Bundle es)) r => path -> Sem es a -> Sem r a Source #
Variant of scopedP
in which cannot access to outer scope.
injScopedP :: forall effect es path resource r a. (Member (ScopedP path resource (Bundle es)) r, Member effect es) => Sem (ScopedP path resource effect ': r) a -> Sem r a Source #
unbundleScopedP :: Member (ScopedP path resource effect) r => Sem (ScopedP path resource (Bundle '[effect]) ': r) a -> Sem r a Source #
weakenScopedP :: forall es0 es1 path resource r a. (Member (ScopedP path resource (Bundle es1)) r, Members es0 es1, KnownList es0) => Sem (ScopedP path resource (Bundle es0) ': r) a -> Sem r a Source #
transformScopedP :: Member (ScopedP path resource e1) r => (forall rInitial x. e0 (Sem rInitial) x -> e1 (Sem rInitial) x) -> Sem (ScopedP path resource e0 ': r) a -> Sem r a Source #
scopedP :: forall path resource effect r. Member (ScopedP path resource effect) r => path -> InterpretersFor '[effect, Input path] r Source #
scopedP_simple :: forall e path resource effect r a. Member (ScopedP path resource effect) r => path -> InterpreterFor effect r Source #
scopedP_local :: forall e path resource effect r a. Member (ScopedP path resource effect) r => (resource -> resource) -> path -> InterpreterFor effect r Source #
runScopedP :: forall path resource effect r. (forall x. path -> (resource -> Sem r x) -> Sem r x) -> (resource -> InterpreterFor effect r) -> InterpreterFor (ScopedP path resource effect) r Source #