SideEffectInterpreter

endless.core.interpret.SideEffectInterpreter
See theSideEffectInterpreter companion trait

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def lift[F[_] : Applicative, S, Alg[_[_]], RepositoryAlg[_[_]]](pureSideEffect: (RepositoryAlg[F], Alg[F]) => SideEffect[F, S, Alg]): SideEffectInterpreter[F, S, Alg, RepositoryAlg]

Lifts a pure interpreter into an SideEffectInterpreter (which is expressed in context F)

Lifts a pure interpreter into an SideEffectInterpreter (which is expressed in context F)

Type parameters

Alg

entity algebra

F

effect type

RepositoryAlg

repository algebra

S

state

Value parameters

pureSideEffect

pure side-effect (i.e. it doesn't require any effect to create the side-effect instance)

Attributes

Returns

side-effect interpreter in context F

def unit[F[_] : Applicative, S, Alg[_[_]], RepositoryAlg[_[_]]]: SideEffectInterpreter[F, S, Alg, RepositoryAlg]

Creates a no-op side-effect interpreter, for repositories that don't require any side-effect

Creates a no-op side-effect interpreter, for repositories that don't require any side-effect

Type parameters

Alg

entity algebra

F

effect type

RepositoryAlg

repository algebra

S

state

Attributes

Returns

unit side-effect interpreter in context F