Super trait for any user-defined Interpreter.
- Interpreters are not meant to be created directly. Instead, one of abstract interpreters, provided by Effect, should be inherited:
- Interpreters are not meant to be used directly. Instead, a Handler should be created from the interpreter, by calling
toHandler
method on it.
Attributes
- Companion
- object
- Graph
-
- Supertypes
- Known subtypes
Members list
Type members
Types
Phantom type, representing universally quantified type of the corresponding handler.
Phantom type, representing universally quantified type of the corresponding handler.
A Handler acts as a higher-rank function of type:
[A, U] => (From[A] !! (Elim & U)) => To[A] !! (Intro & U)
The Ambient type of this interpreter corresponds to the U
type parameter above. See also Unknown.
Attributes
Set of effects eliminated from computation by this interpreter.
Set of effects eliminated from computation by this interpreter.
Attributes
Input of this interpreter.
Input of this interpreter.
Attributes
Set of effects introduced into computation by this interpreter (a.k.a. dependencies).
Set of effects introduced into computation by this interpreter (a.k.a. dependencies).
Attributes
Local state of this interpreter.
Local state of this interpreter.
Attributes
Output of this interpreter.
Output of this interpreter.
Attributes
Phantom type, representing universally quantified type of the corresponding handler.
Phantom type, representing universally quantified type of the corresponding handler.
A Handler acts as a higher-rank function of type:
[A, U] => (From[A] !! (Elim & U)) => To[A] !! (Intro & U)
The Unknown type of this interpreter corresponds to the A
type parameter above. See also Ambient.