From 67598cee1e3a719783efe9831516e075ee2b756f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hillerstr=C3=B6m?= Date: Mon, 7 Jun 2021 12:22:52 +0100 Subject: [PATCH] Dissertation overview --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/README.md b/README.md index c561fc6..a00d7f5 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,72 @@ The board of examiners consists of * Ohad Kammar (The University of Edinburgh) * Stephen Gilmore (The University of Edinburgh) +## Thesis structure + +The dissertation is structured as follows. + +### Background + + * Chapter 2 defines some basic mathematical notation and +constructions that are they pervasively throughout this dissertation. + + * Chapter 3 presents a literature survey of continuations and +first-class control. I classify continuations according to their +operational behaviour and provide an overview of the various +first-class sequential control operators that appear in the +literature. The application spectrum of continuations is discussed as +well as implementation strategies for first-class control. + +### Programming + + * Chapter 4 introduces a polymorphic fine-grain call-by-value core +calculus, λb, which makes key use of Remy-style row polymorphism +to implement polymorphic variants, structural records, and a +structural effect system. The calculus distils the essence of the core +of the Links programming language. + + * Chapter 5 presents three extensions of λb, +which are λh that adds deep handlers, λ that adds shallow +handlers, and λ that adds parameterised handlers. The chapter +also contains a running case study that demonstrates effect handler +oriented programming in practice by implementing a small operating +system dubbed Tiny UNIX based on Ritchie and Thompson's original +UNIX. + +### Implementation + + * Chapter 6 develops a higher-order continuation passing +style translation for effect handlers through a series of step-wise +refinements of an initial standard continuation passing style +translation for λb. Each refinement slightly modifies the notion +of continuation employed by the translation. The development +ultimately leads to the key invention of generalised continuation, +which is used to give a continuation passing style semantics to deep, +shallow, and parameterised handlers. + + * Chapter 7 demonstrates an application of generalised continuations +to abstract machine as we plug generalised continuations into +Felleisen and Friedman's CEK machine to obtain an adequate abstract +runtime with simultaneous support for deep, shallow, and parameterised +handlers. + +### Expressiveness + * Chapter 8 shows that deep, shallow, and parameterised notions of +handlers can simulate one another up to specific notions of +administrative reduction. + + * Chapter 9 studies the fundamental efficiency of effect handlers. In +this chapter, we show that effect handlers enable an asymptotic +improvement in runtime complexity for a certain class of +functions. Specifically, we consider the *generic count* problem using +a pure PCF-like base language λb (a simply typed variation of +λb) and its extension with effect handlers λh. We +show that λh admits an asymptotically more efficient +implementation of generic count than any λb implementation. + +### Conclusions + * Chapter 10 concludes and discusses future work. + ## Building To build the dissertation you need the [Informatics thesis LaTeX