|
|
@ -14847,6 +14847,17 @@ the captured context and continuation invocation context to coincide. |
|
|
\def\N{{\mathbb N}} |
|
|
\def\N{{\mathbb N}} |
|
|
% |
|
|
% |
|
|
|
|
|
|
|
|
|
|
|
Effect handlers are capable of codifying a wealth of powerful |
|
|
|
|
|
programming constructs and features such as exceptions, state, |
|
|
|
|
|
backtracking, coroutines, await/async, inversion of control, and so |
|
|
|
|
|
on. |
|
|
|
|
|
% |
|
|
|
|
|
Thus, effect handlers are expressive enough to implement a wide |
|
|
|
|
|
variety of other programming abstractions. |
|
|
|
|
|
% |
|
|
|
|
|
We may wonder about the exact nature of this expressiveness, i.e. does |
|
|
|
|
|
effect handlers exhibit any \emph{essential} expressivity? |
|
|
|
|
|
|
|
|
% In today's programming languages we find a wealth of powerful |
|
|
% In today's programming languages we find a wealth of powerful |
|
|
% constructs and features --- exceptions, higher-order store, dynamic |
|
|
% constructs and features --- exceptions, higher-order store, dynamic |
|
|
% method dispatch, coroutines, explicit continuations, concurrency |
|
|
% method dispatch, coroutines, explicit continuations, concurrency |
|
|
|