mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 02:58:26 +00:00
Reword
This commit is contained in:
23
thesis.tex
23
thesis.tex
@@ -397,7 +397,7 @@ parameterised handlers which are a slight variation of deep handlers.
|
|||||||
From the perspective of programmers first-class control is a valuable
|
From the perspective of programmers first-class control is a valuable
|
||||||
programming feature because it enables them to implement their own
|
programming feature because it enables them to implement their own
|
||||||
control idioms as if they were native to the programming
|
control idioms as if they were native to the programming
|
||||||
language. More important with first-class control programmer-defined
|
language. More important, with first-class control programmer-defined
|
||||||
control idioms are local phenomena which can be encapsulated in a
|
control idioms are local phenomena which can be encapsulated in a
|
||||||
library such that the rest of the program does not need to be made
|
library such that the rest of the program does not need to be made
|
||||||
aware of their existence. Conversely, without first-class control some
|
aware of their existence. Conversely, without first-class control some
|
||||||
@@ -417,23 +417,25 @@ control mechanism rather than having to implement and maintain
|
|||||||
individual runtime support for each control idiom of the source
|
individual runtime support for each control idiom of the source
|
||||||
language.
|
language.
|
||||||
|
|
||||||
|
% From either perspective first-class control adds value to a
|
||||||
|
% programming language regardless of whether it is featured in the
|
||||||
|
% source language.
|
||||||
|
|
||||||
% \subsection{Flavours of control}
|
% \subsection{Flavours of control}
|
||||||
% \paragraph{Undelimited control}
|
% \paragraph{Undelimited control}
|
||||||
% \paragraph{Delimited control}
|
% \paragraph{Delimited control}
|
||||||
% \paragraph{Composable control}
|
% \paragraph{Composable control}
|
||||||
|
|
||||||
\subsection{Why effect handlers matter}
|
\subsection{Why effect handlers matter}
|
||||||
|
\dhil{Something about structured programming with delimited control}
|
||||||
|
|
||||||
\section{State of effectful programming}
|
\section{State of effectful programming}
|
||||||
|
|
||||||
Programming with effects can be done in basically three different
|
In this section I will provide a brief programming perspective on
|
||||||
ways: 1) usage of builtin effects, 2) simulation via global program
|
different approaches to programming with effects along with an
|
||||||
transformations, or 3) simulation via control effects.
|
informal introduction to the related concepts. We will look at each
|
||||||
%
|
approach through the lens of global mutable state --- which is quite
|
||||||
In this section I will provide a brief programming perspective on the
|
possibly the most well-known effect.
|
||||||
various approaches to programming with effects. We will look at each
|
|
||||||
approach through the lens of a singular effect, namely, global mutable
|
|
||||||
state.
|
|
||||||
|
|
||||||
% how
|
% how
|
||||||
% effectful programming has evolved as well as providing an informal
|
% effectful programming has evolved as well as providing an informal
|
||||||
@@ -454,8 +456,7 @@ state.
|
|||||||
We can realise stateful behaviour by either using language-supported
|
We can realise stateful behaviour by either using language-supported
|
||||||
state primitives, globally structure our program to follow a certain
|
state primitives, globally structure our program to follow a certain
|
||||||
style, or use first-class control in the form of delimited control to
|
style, or use first-class control in the form of delimited control to
|
||||||
simulate state. As for simulating state with control effects we
|
simulate state. We do not consider undelimited control, because it is
|
||||||
consider only delimited control, because undelimited control is
|
|
||||||
insufficient to express mutable state~\cite{FriedmanS00}.
|
insufficient to express mutable state~\cite{FriedmanS00}.
|
||||||
% Programming in its infancy was effectful as the idea of first-class
|
% Programming in its infancy was effectful as the idea of first-class
|
||||||
% control was conceived already during the design of the programming
|
% control was conceived already during the design of the programming
|
||||||
|
|||||||
Reference in New Issue
Block a user