Access to delimited continuation.
Used from custom implementations of effect Interpreter.
Type parameters
- A
-
input of this continuation
- B
-
part of the result of this continuation
- F
-
part of the result of this continuation
- S
-
state of the current effect
- U
-
effect set for higher order operations
- V
-
part of the result of this continuation
Attributes
- Companion
- object
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Resumes the continuation.
Resumes the continuation.
Attributes
- Definition Classes
-
Function1
Resumes the continuation, also updating the state.
Resumes the continuation, also updating the state.
Attributes
Execute body
in the context, where this continuation has been created.
Execute body
in the context, where this continuation has been created.
...
Attributes
Handles given computation locally.
Handles given computation locally.
Execute body
in the context, where this continuation has been created, as if scope of the currently interpreted effect was delimited by body
.
Returns a pair of:
- The result of handling of the effect, in the scope delimited by the
body
. - A fresh
Control
object.
The fresh Control
should be used for subsequent resumption, because it captures actions, that may have been performed inside the body
by other effects.
The stale continuation (this
) can be resumed too. However, this introduces semantic fragility. Such that, we may find that some of those other effects are undone, even though we have just got a hold on the value computed with their participation.
This alternative behavior is similar to the known problem of Monad Transformers: "catch resets state".
Attributes
Inherited methods
Attributes
- Inherited from:
- Function1
Attributes
- Inherited from:
- Function1
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
-
Function1 -> Any
- Inherited from:
- Function1