Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type BaseAppEffs = [RawStore, Metrics, Logger, Resource, Error AppError]
- type BaseApp r = BaseAppEffs :& r
- type ScopedBaseApp (s :: ConnectionScope) r = ApplyScope s (BaseApp r)
- data ScopedEff r a where
- QueryScoped :: Sem (ScopedBaseApp Query r) a -> ScopedEff r a
- MempoolScoped :: Sem (ScopedBaseApp Mempool r) a -> ScopedEff r a
- ConsensusScoped :: Sem (ScopedBaseApp Consensus r) a -> ScopedEff r a
- compileScopedEff :: ScopedEff CoreEffs a -> Sem CoreEffs a
- compileToCoreEffs :: AuthTreeGetter s => forall a. Sem (ScopedBaseApp s CoreEffs) a -> Sem CoreEffs a
Documentation
type BaseAppEffs = [RawStore, Metrics, Logger, Resource, Error AppError] Source #
Concrete row of effects for the BaseApp. Note that because there does
| not exist an interpreter for an untagged RawStore
, you must scope
| these effects before they can be interpreted.
type BaseApp r = BaseAppEffs :& r Source #
type ScopedBaseApp (s :: ConnectionScope) r = ApplyScope s (BaseApp r) Source #
data ScopedEff r a where Source #
QueryScoped :: Sem (ScopedBaseApp Query r) a -> ScopedEff r a | |
MempoolScoped :: Sem (ScopedBaseApp Mempool r) a -> ScopedEff r a | |
ConsensusScoped :: Sem (ScopedBaseApp Consensus r) a -> ScopedEff r a |
compileToCoreEffs :: AuthTreeGetter s => forall a. Sem (ScopedBaseApp s CoreEffs) a -> Sem CoreEffs a Source #
An intermediary interpeter, bringing BaseApp
down to CoreEff
.