package interpret
- Alphabetic
- Public
- Protected
Type Members
- trait BehaviorInterpreter[F[_], S, E, Alg[_[_]]] extends AnyRef
Interprets an algebra
Alg
expressed usingEntity
in contextF
withEntityT
Interprets an algebra
Alg
expressed usingEntity
in contextF
withEntityT
- F
effect type
- S
state
- E
event
- Alg
entity algebra
- returns
interpreted entity algebra in context
F
- trait DurableBehaviorInterpreter[F[_], S, Alg[_[_]]] extends AnyRef
Interprets an algebra
Alg
expressed usingDurableEntity
in contextF
withDurableEntityT
Interprets an algebra
Alg
expressed usingDurableEntity
in contextF
withDurableEntityT
- F
effect type
- S
state
- Alg
entity algebra
- returns
interpreted entity algebra in context
F
- trait EntityRunFunctions extends AnyRef
- final class EntityT[F[_], S, E, A] extends AnyVal
EntityT[F, S, E, A]
is data type implementing the
Entity[F, S, E]state reader and event writer abilities. It is a monad transformer used as an interpreter for functional chains involving calls to
Entityread
andwrite
, turning them into a result value ofF[Folded[E, A]]
.EntityT[F, S, E, A]
is data type implementing the
Entity[F, S, E]state reader and event writer abilities. It is a monad transformer used as an interpreter for functional chains involving calls to
Entityread
andwrite
, turning them into a result value ofF[Folded[E, A]]
.Folded[E, A]
is either an error or a list of events bundled together with a result value.EntityT
interpretation runs with an instance ofEventsFolder[S, E]
which is a tuple of current state of typeS
together with event application functionEventApplier[S, E]
. Interpretation essentially accumulates the written events into aChain[E]
and applies these events to initial state whenever aread
is required.- F
context
- S
state
- E
event
- A
value
- class EntityTLiftInstance[F[_], S, E] extends Entity[[δ$0$]EntityT[F, S, E, δ$0$], S, E] with Monad[[δ$1$]EntityT[F, S, E, δ$1$]]
- trait RepositoryInterpreter[F[_], ID, Alg[_[_]], RepositoryAlg[_[_]]] extends AnyRef
Interpret an algebra
RepositoryAlg
expressed usingSharding
in contextF
, materializing the distributed repositoryInterpret an algebra
RepositoryAlg
expressed usingSharding
in contextF
, materializing the distributed repository- F
effect type
- ID
entity ID
- Alg
entity algebra
- RepositoryAlg
repository algebra
- returns
interpreted repository algebra in context
F
- trait SideEffectInterpreter[F[_], S, Alg[_[_]], RepositoryAlg[_[_]]] extends AnyRef
Interprets a function
F[Unit]
describing a side-effect usingEffector
in contextF
Interprets a function
F[Unit]
describing a side-effect usingEffector
in contextF
- F
effect type
- S
state
- Alg
entity algebra
- RepositoryAlg
repository algebra
- returns
interpreted side-effect function in context
F
Value Members
- object BehaviorInterpreter
- object DurableBehaviorInterpreter
- object DurableEntityT
- object EntityT extends EntityRunFunctions
- object RepositoryInterpreter
- object SideEffectInterpreter