mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 11:08:25 +00:00
Scope
This commit is contained in:
10
thesis.bib
10
thesis.bib
@@ -331,7 +331,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{LuksicP20,
|
@article{LuksicP20,
|
||||||
author = {Ziga Luksic and
|
author = {{\v{Z}}iga Luk{\v{s}}i{\v{c}} and
|
||||||
Matija Pretnar},
|
Matija Pretnar},
|
||||||
title = {Local algebraic effect theories},
|
title = {Local algebraic effect theories},
|
||||||
journal = {J. Funct. Program.},
|
journal = {J. Funct. Program.},
|
||||||
@@ -3476,3 +3476,11 @@
|
|||||||
publisher = {Springer},
|
publisher = {Springer},
|
||||||
year = {2017}
|
year = {2017}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Žiga Lukšič's PhD thesis on local effect theories
|
||||||
|
@phdthesis{Ziga20,
|
||||||
|
author = {{\v{Z}}iga Luk{\v{s}}i{\v{c}}},
|
||||||
|
title = {Applications of algebraic effect theories},
|
||||||
|
school = {University of Ljubljana, Slovenia},
|
||||||
|
year = {2020}
|
||||||
|
}
|
||||||
65
thesis.tex
65
thesis.tex
@@ -1617,21 +1617,43 @@ function under a handler that interprets at least $\Get$ and $\Put$.
|
|||||||
\dhil{Mention the importance of polymorphism in effect tracking}
|
\dhil{Mention the importance of polymorphism in effect tracking}
|
||||||
|
|
||||||
\section{Scope}
|
\section{Scope}
|
||||||
Since the inception of effect handlers numerous variations and
|
Summarised in one sentence this dissertation is about practical
|
||||||
extensions of them have been proposed. In this dissertation I am
|
programming language designs for programming with effect handlers,
|
||||||
concerned only with \citeauthor{PlotkinP09}'s deep handlers, their
|
their foundational implementation techniques, and implications for the
|
||||||
shallow variation, and parameterised handlers which are a slight
|
expressive power of their host language.
|
||||||
variation of deep handlers.
|
|
||||||
|
|
||||||
\subsection{Some pointers to elsewhere}
|
Numerous variations and extensions of effect handlers have been
|
||||||
|
proposed since their inceptions. In this dissertation I restrict my
|
||||||
|
attention to \citeauthor{PlotkinP09}'s deep handlers, their shallow
|
||||||
|
variation, and parameterised handlers which are a slight variation of
|
||||||
|
deep handlers. In particular I work with free algebraic theories,
|
||||||
|
which is to say my designs do not incorporate equational theories for
|
||||||
|
effects. Furthermore, I frame my study in terms of simply-typed and
|
||||||
|
polymorphic $\lambda$-calculi for which I give computational
|
||||||
|
interpretations in terms of contextual operational semantics and
|
||||||
|
realise using two foundational operational techniques: continuation
|
||||||
|
passing style and abstract machine semantics. When it comes to
|
||||||
|
expressivity studies there are multiple complementary notions of
|
||||||
|
expressiveness available in the literature; in this dissertation I
|
||||||
|
work with typed macro-expressiveness and type-respecting
|
||||||
|
expressiveness notions.
|
||||||
|
|
||||||
|
\subsection{Scope extrusion}
|
||||||
The literature on effect handlers is rich, and my dissertation is but
|
The literature on effect handlers is rich, and my dissertation is but
|
||||||
one of many on topics related to effect handlers. In this section I
|
one of many on topics related to effect handlers. In this section I
|
||||||
provide a few pointers to related work involving effect handlers that
|
provide a few pointers to related work involving effect handlers that
|
||||||
I will not otherwise discuss in this dissertation.
|
I will not otherwise discuss in this dissertation.
|
||||||
|
|
||||||
Readers interested in the mathematical theory and original development
|
Readers interested in the mathematical foundations and original
|
||||||
of effect handlers should consult \citeauthor{Pretnar10}'s PhD
|
development of effect handlers should consult \citeauthor{Pretnar10}'s
|
||||||
dissertation~\cite{Pretnar10}.
|
PhD dissertation~\cite{Pretnar10}.
|
||||||
|
|
||||||
|
Most programming language treatments of algebraic effects and their
|
||||||
|
handlers sideline equational theories, despite equational theories
|
||||||
|
being an important part of the original treatment of effect
|
||||||
|
handlers. \citeauthor{Ziga20}'s PhD dissertation brings equations back
|
||||||
|
onto the pitch as \citet{Ziga20} develops a core calculus with a novel
|
||||||
|
local notion of effect theories.
|
||||||
|
|
||||||
Lexical effect handlers are a variation on \citeauthor{PlotkinP09}'s
|
Lexical effect handlers are a variation on \citeauthor{PlotkinP09}'s
|
||||||
deep handlers, which provide a form of lexical scoping for effect
|
deep handlers, which provide a form of lexical scoping for effect
|
||||||
@@ -1639,7 +1661,7 @@ operations, thus statically binding them to their handlers.
|
|||||||
%
|
%
|
||||||
\citeauthor{Geron19}'s PhD dissertation develops the mathematical
|
\citeauthor{Geron19}'s PhD dissertation develops the mathematical
|
||||||
theory of scoped effect operations, whilst \citet{WuSH14} and
|
theory of scoped effect operations, whilst \citet{WuSH14} and
|
||||||
\citet{BiernackiPPS20} studies them from a programming perspective.
|
\citet{BiernackiPPS20} study them from a programming perspective.
|
||||||
|
|
||||||
To get a grasp of the reasoning principles for effect handlers,
|
To get a grasp of the reasoning principles for effect handlers,
|
||||||
interested readers should consult \citeauthor{McLaughlin20}'s PhD
|
interested readers should consult \citeauthor{McLaughlin20}'s PhD
|
||||||
@@ -1652,20 +1674,25 @@ techniques for deep handlers due to \citet{BiernackiPPS18}.
|
|||||||
\citeauthor{Ahman17}'s PhD dissertation is relevant for readers
|
\citeauthor{Ahman17}'s PhD dissertation is relevant for readers
|
||||||
interested in the integration of computational effects into dependent
|
interested in the integration of computational effects into dependent
|
||||||
type theories~\cite{Ahman17}. \citeauthor{Ahman17} develops an
|
type theories~\cite{Ahman17}. \citeauthor{Ahman17} develops an
|
||||||
intensional \citet{MartinLof84} style effectful dependent type theory
|
intensional \citet{MartinLof84} style dependent type theory equipped
|
||||||
equipped with a novel computational dependent type.
|
with a novel computational dependent type, which makes it possible to
|
||||||
|
treat type-dependency in the sequential composition of effectful
|
||||||
|
computations uniformly.
|
||||||
|
|
||||||
Effect handlers were conceived in the realm of category theory to give
|
% Effect handlers were conceived in the realm of category theory to give
|
||||||
an algebraic treatment of exception handling~\cite{PlotkinP09}. They
|
% an algebraic treatment of exception handling~\cite{PlotkinP09}. They
|
||||||
were adopted early by functional programmers, who either added
|
% were adopted early by functional programmers, who either added
|
||||||
language-level support for effect handlers~
|
% language-level support for effect handlers~
|
||||||
|
Functional programmers were early adopters of effect handlers. They
|
||||||
|
either added language-level support for handlers~
|
||||||
\cite{Hillerstrom15,DolanWSYM15,BiernackiPPS18,Leijen17,BauerP15,BrachthauserSO20a,LindleyMM17,Chiusano20}
|
\cite{Hillerstrom15,DolanWSYM15,BiernackiPPS18,Leijen17,BauerP15,BrachthauserSO20a,LindleyMM17,Chiusano20}
|
||||||
or embedded them in
|
or embedded them in
|
||||||
libraries~\cite{KiselyovSS13,KiselyovI15,KiselyovS16,KammarLO13,BrachthauserS17,Brady13,XieL20}. Thus
|
libraries~\cite{KiselyovSS13,KiselyovI15,KiselyovS16,KammarLO13,BrachthauserS17,Brady13,XieL20}. Thus
|
||||||
functional perspectives on effect handlers are plentiful in the
|
functional perspectives on effect handlers are plentiful in the
|
||||||
literature. Only a few has studied effect handlers outside the realm
|
literature. There are only a a few takes on effect handlers outside
|
||||||
of functional programming: \citet{Brachthauser20} offers an
|
functional programming: \citeauthor{Brachthauser20}'s PhD dissertation
|
||||||
object-oriented perspective on effect handlers; \citet{Saleh19}
|
contains an object-oriented perspective on effect handlers in
|
||||||
|
Java~\cite{Brachthauser20}; In \citeauthor{Saleh19}'s PhD dissertation
|
||||||
provides a logic programming perspective via an effect handlers
|
provides a logic programming perspective via an effect handlers
|
||||||
extension to Prolog; and \citet{Leijen17b} has an imperative take on
|
extension to Prolog; and \citet{Leijen17b} has an imperative take on
|
||||||
effect handlers in C.
|
effect handlers in C.
|
||||||
|
|||||||
Reference in New Issue
Block a user