From fcadc31110f67aee4d0d25c284bd277ce1a6b8d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hillerstr=C3=B6m?= Date: Fri, 27 Nov 2020 01:17:44 +0000 Subject: [PATCH] Refinement --- thesis.tex | 72 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/thesis.tex b/thesis.tex index 90a932b..683e06c 100644 --- a/thesis.tex +++ b/thesis.tex @@ -1299,37 +1299,57 @@ composition is concatenation of their sequences~\cite{Felleisen87,FelleisenF86,FelleisenWFD88}. % The natural outcome of this interpretation is the control phenomenon -known as \emph{dynamic delimited control}, where a control operator is -dynamically bound by a prompt. An application of a control operator -causes the machine to scour through control component to locate the -corresponding prompt. +known as \emph{dynamic delimited control}, where the control operator +is dynamically bound by its delimiter. An application of a control +operator causes the machine to scour through control component to +locate the corresponding delimiter. The following year, \citet{DanvyF89} introduced an alternative pair of operators known as `shift' and `reset', where `shift' is the control operator and `reset' is the control delimiter. Their line of work were driven by a static interpretation of composable continuations in terms -of algebraic manipulation of continuations arising from hierarchical -continuation passing style (CPS) transformations. In ordinary CPS a -continuation is represented as a function, which is abortive rather -than composable, because every function application appear in tail -position. -% -The operators `shift' and `reset' were introduced as a programmatic -way to manipulate and compose continuations. Algebraically `shift' -corresponds to the composition operation for continuation functions, -whereas `reset' corresponds to the identity -element~\cite{DanvyF89,DanvyF90,DanvyF92}. -% -Technically, the operators operate on a meta layer, which is obtained -by CPS transforming the image again. An indefinite amount of meta -layers can be obtained by iterating the CPS transformation on its -image, leading to a whole hierarchy of CPS. -% -This interpretation in terms of functions naturally leads to the -control phenomenon known as \emph{static delimited control}, the -context abstracted by a control operator is statically determined. -% -\dhil{Consider dropping the blurb about hierarchy/meta layers.} +of continuation passing style (CPS). In ordinary CPS a continuation is +represented as a function, however, there is no notion of composition, +because every function call must appear in tail position. The `shift' +operator enables composition of continuation functions as it provides +a means for abstracting over control contexts. Technically, this works +by iterating the CPS transform twice on the source program, where +`shift' provides access to continuations that arise from the second +transformation. The `reset' operator acts as the identity for +continuation functions, which effectively delimits the extent of +`shift' as in terms of CPS the identity function denotes the top-level +continuation. +% +This interpretation of composable continuations as functions naturally +leads to the control phenomenon known as \emph{static delimited + control}, where the control operator is statically bound by its +delimiter. + + + +% The following year, \citet{DanvyF89} introduced an alternative pair of +% operators known as `shift' and `reset', where `shift' is the control +% operator and `reset' is the control delimiter. Their line of work were +% driven by a static interpretation of composable continuations in terms +% of algebraic manipulation of continuations arising from hierarchical +% continuation passing style (CPS) transformations. In ordinary CPS a +% continuation is represented as a function, which is abortive rather +% than composable, because every function application appear in tail +% position. +% % +% The operators `shift' and `reset' were introduced as a programmatic +% way to manipulate and compose continuations. Algebraically `shift' +% corresponds to the composition operation for continuation functions, +% whereas `reset' corresponds to the identity +% element~\cite{DanvyF89,DanvyF90,DanvyF92}. +% % +% Technically, the operators operate on a meta layer, which is obtained +% by CPS transforming the image again. An indefinite amount of meta +% layers can be obtained by iterating the CPS transformation on its +% image, leading to a whole hierarchy of CPS. +% % +% % +% \dhil{Consider dropping the blurb about hierarchy/meta layers.} Later a whole variety of alternative delimited control operators has appeared.