- Companion:
- class
Type members
Classlikes
Super trait for any user-defined proxy Interpreter.
Super trait for any user-defined proxy Interpreter.
Proxy translates operations of this effect, into operations of some other effects (dependencies). This is also known as "reinterpretation" in some effect systems.
Unlike Flow interpreters, Proxy interpreters have their Result type fixed to identity.
- Type parameters:
- Fx
Type-level set of effects, expressed as an intersection type, specifying dependencies of this proxy interpreter.
Super class for any user-defined stateful Interpreter.
Super class for any user-defined stateful Interpreter.
Works by translating operations of this effect, into a monad, defined by transformer: T[M, A] = S => M[F[A]]
.
Implementation must provide:
- Definitions for
pure
,flatMap
andzip
for the transformed monad, given MonadZip instance for the inner monad. Functor
instance forF[_]
- Type parameters:
- F
Part of this interpreter's monad transformer.
- S
Part of this interpreter's monad transformer.
Super class for any user-defined stateless Interpreter.
Super class for any user-defined stateless Interpreter.
Works by translating operations of this effect, into a monad, defined by transformer: T[M, A] = M[F[A]]
.
Implementation must provide:
- Definitions for
pure
,flatMap
andzip
for the transformed monad, givenMonadZip
instance for the inner monad. Functor
instance forF[_]
- Type parameters:
- F
Part of this interpreter's monad transformer.