Packages

p

endless.core

interpret

package interpret

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. trait BehaviorInterpreter[F[_], S, E, Alg[_[_]]] extends AnyRef

    Interprets an algebra Alg expressed using Entity in context F with EntityT

    Interprets an algebra Alg expressed using Entity in context F with EntityT

    F

    effect type

    S

    state

    E

    event

    Alg

    entity algebra

    returns

    interpreted entity algebra in context F

  2. trait DurableBehaviorInterpreter[F[_], S, Alg[_[_]]] extends AnyRef

    Interprets an algebra Alg expressed using DurableEntity in context F with DurableEntityT

    Interprets an algebra Alg expressed using DurableEntity in context F with DurableEntityT

    F

    effect type

    S

    state

    Alg

    entity algebra

    returns

    interpreted entity algebra in context F

  3. trait EntityRunFunctions extends AnyRef
  4. 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 Entity read and write, turning them into a result value of F[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 Entity read and write, turning them into a result value of F[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 of EventsFolder[S, E] which is a tuple of current state of type S together with event application function EventApplier[S, E]. Interpretation essentially accumulates the written events into a Chain[E] and applies these events to initial state whenever a read is required.

    F

    context

    S

    state

    E

    event

    A

    value

  5. class EntityTLiftInstance[F[_], S, E] extends Entity[[δ$0$]EntityT[F, S, E, δ$0$], S, E] with Monad[[δ$1$]EntityT[F, S, E, δ$1$]]
  6. trait RepositoryInterpreter[F[_], ID, Alg[_[_]], RepositoryAlg[_[_]]] extends AnyRef

    Interpret an algebra RepositoryAlg expressed using Sharding in context F, materializing the distributed repository

    Interpret an algebra RepositoryAlg expressed using Sharding in context F, materializing the distributed repository

    F

    effect type

    ID

    entity ID

    Alg

    entity algebra

    RepositoryAlg

    repository algebra

    returns

    interpreted repository algebra in context F

  7. trait SideEffectInterpreter[F[_], S, Alg[_[_]], RepositoryAlg[_[_]]] extends AnyRef

    Interprets a function F[Unit] describing a side-effect using Effector in context F

    Interprets a function F[Unit] describing a side-effect using Effector in context F

    F

    effect type

    S

    state

    Alg

    entity algebra

    RepositoryAlg

    repository algebra

    returns

    interpreted side-effect function in context F

Ungrouped