1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 02:58:26 +00:00

Interdefinability of effect handlers

This commit is contained in:
2021-04-05 17:11:15 +01:00
parent 34d724919f
commit 0cd953ac94
2 changed files with 29 additions and 8 deletions

View File

@@ -1752,6 +1752,16 @@
year = {2004} year = {2004}
} }
@article{Shan07,
author = {Chung{-}chieh Shan},
title = {A static simulation of dynamic delimited control},
journal = {High. Order Symb. Comput.},
volume = {20},
number = {4},
pages = {371--401},
year = {2007}
}
# MacLisp (catch) # MacLisp (catch)
@misc{Moon74, @misc{Moon74,
author = {David A. Moon}, author = {David A. Moon},

View File

@@ -12133,14 +12133,28 @@ to a variable to be reduced.
Precisely how effect handlers fit into the landscape of programming Precisely how effect handlers fit into the landscape of programming
language features is largely unexplored in the literature. The most language features is largely unexplored in the literature. The most
notable work in this area is due to \citet{ForsterKLP17}, who relevant work in this area is due to \citet{ForsterKLP17}, who
investigate various relationships between effect handlers, delimited investigate various relationships between effect handlers, delimited
control in the form of shift/reset, and monadic reflection using the control in the form of shift/reset, and monadic reflection using the
notions of typability-preserving macro-expressiveness and untyped notions of typability-preserving macro-expressiveness and untyped
macro-expressiveness~\cite{ForsterKLP17,ForsterKLP19}. \citet{PirogPS19} macro-expressiveness~\cite{ForsterKLP17,ForsterKLP19}. They show that
build upon the work of \citeauthor{ForsterKLP17} as they show that in an untyped setting all three are interdefinable, whereas in a
with sufficient polymorphism effect handlers and delimited control á simply typed setting effect handlers cannot macro-express
la shift/reset can simulate one another. \citet{Shan04} either. \citet{PirogPS19} build upon the work of
\citeauthor{ForsterKLP17} as they show that with sufficient
polymorphism effect handlers and delimited control can simulate one
another.
The work of \citet{Shan04,Shan07} is related in spirit to the work
presented in this chapter. \citeauthor{Shan04} shows that static and
dynamic notions of delimited control are interdefinable in an untyped
setting. The work in this chapter has a similar flavour to
\citeauthor{Shan04}'s work as we can view deep handlers as a kind of
static control facility and shallow handlers as a kind of dynamic
control facility. In order to simulate dynamic control using static
control, \citeauthor{Shan04}'s translation makes use of recursive
delimited continuations, which allow the captured context and
continuation invocation context to coincide.
% \chapter{Computability, complexity, and expressivness} % \chapter{Computability, complexity, and expressivness}
% \label{ch:expressiveness} % \label{ch:expressiveness}
@@ -12148,9 +12162,6 @@ la shift/reset can simulate one another. \citet{Shan04}
% Felleisen's macro-expressiveness, Longley's type-respecting % Felleisen's macro-expressiveness, Longley's type-respecting
% expressiveness, Kammar's typability-preserving expressiveness. % expressiveness, Kammar's typability-preserving expressiveness.
% \section{Interdefinability of deep and shallow Handlers}
% \section{Encoding parameterised handlers}
\chapter{Asymptotic speedup with first-class control} \chapter{Asymptotic speedup with first-class control}
\label{ch:handlers-efficiency} \label{ch:handlers-efficiency}
Describe the methodology\dots Describe the methodology\dots