mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 02:58:26 +00:00
Refinement
This commit is contained in:
70
thesis.tex
70
thesis.tex
@@ -1299,37 +1299,57 @@ composition is concatenation of their
|
|||||||
sequences~\cite{Felleisen87,FelleisenF86,FelleisenWFD88}.
|
sequences~\cite{Felleisen87,FelleisenF86,FelleisenWFD88}.
|
||||||
%
|
%
|
||||||
The natural outcome of this interpretation is the control phenomenon
|
The natural outcome of this interpretation is the control phenomenon
|
||||||
known as \emph{dynamic delimited control}, where a control operator is
|
known as \emph{dynamic delimited control}, where the control operator
|
||||||
dynamically bound by a prompt. An application of a control operator
|
is dynamically bound by its delimiter. An application of a control
|
||||||
causes the machine to scour through control component to locate the
|
operator causes the machine to scour through control component to
|
||||||
corresponding prompt.
|
locate the corresponding delimiter.
|
||||||
|
|
||||||
The following year, \citet{DanvyF89} introduced an alternative pair of
|
The following year, \citet{DanvyF89} introduced an alternative pair of
|
||||||
operators known as `shift' and `reset', where `shift' is the control
|
operators known as `shift' and `reset', where `shift' is the control
|
||||||
operator and `reset' is the control delimiter. Their line of work were
|
operator and `reset' is the control delimiter. Their line of work were
|
||||||
driven by a static interpretation of composable continuations in terms
|
driven by a static interpretation of composable continuations in terms
|
||||||
of algebraic manipulation of continuations arising from hierarchical
|
of continuation passing style (CPS). In ordinary CPS a continuation is
|
||||||
continuation passing style (CPS) transformations. In ordinary CPS a
|
represented as a function, however, there is no notion of composition,
|
||||||
continuation is represented as a function, which is abortive rather
|
because every function call must appear in tail position. The `shift'
|
||||||
than composable, because every function application appear in tail
|
operator enables composition of continuation functions as it provides
|
||||||
position.
|
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.
|
||||||
%
|
%
|
||||||
The operators `shift' and `reset' were introduced as a programmatic
|
This interpretation of composable continuations as functions naturally
|
||||||
way to manipulate and compose continuations. Algebraically `shift'
|
leads to the control phenomenon known as \emph{static delimited
|
||||||
corresponds to the composition operation for continuation functions,
|
control}, where the control operator is statically bound by its
|
||||||
whereas `reset' corresponds to the identity
|
delimiter.
|
||||||
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
|
% The following year, \citet{DanvyF89} introduced an alternative pair of
|
||||||
layers can be obtained by iterating the CPS transformation on its
|
% operators known as `shift' and `reset', where `shift' is the control
|
||||||
image, leading to a whole hierarchy of CPS.
|
% operator and `reset' is the control delimiter. Their line of work were
|
||||||
%
|
% driven by a static interpretation of composable continuations in terms
|
||||||
This interpretation in terms of functions naturally leads to the
|
% of algebraic manipulation of continuations arising from hierarchical
|
||||||
control phenomenon known as \emph{static delimited control}, the
|
% continuation passing style (CPS) transformations. In ordinary CPS a
|
||||||
context abstracted by a control operator is statically determined.
|
% continuation is represented as a function, which is abortive rather
|
||||||
%
|
% than composable, because every function application appear in tail
|
||||||
\dhil{Consider dropping the blurb about hierarchy/meta layers.}
|
% 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
|
Later a whole variety of alternative delimited control operators has
|
||||||
appeared.
|
appeared.
|
||||||
|
|||||||
Reference in New Issue
Block a user