1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 19:18:25 +00:00
This commit is contained in:
2021-05-22 01:22:47 +01:00
parent 2c63d11392
commit 28b8503b97

View File

@@ -1430,20 +1430,25 @@ At the start of the 00s decade
effects}, which is an approach to effectful programming that inverts effects}, which is an approach to effectful programming that inverts
\citeauthor{Moggi91}'s view such that \emph{computational effects \citeauthor{Moggi91}'s view such that \emph{computational effects
determine monads}. In their view a computational effect is given by determine monads}. In their view a computational effect is given by
a signature of operations and a collection of equations that govern a signature of effectful operations and a collection of equations that
their behaviour, together they generate a monad rather than the other govern their behaviour, together they generate a free monad rather
way around. than the other way around.
% %
In practical programming terms, we may understand an algebraic effect In practical programming terms, we may understand an algebraic effect
as an abstract interface, whose operations build the underlying free as an abstract interface, whose operations build the underlying free
monad. monad.
By the end of the decade \citet{PlotkinP09,PlotkinP13} introduced By the end of the decade \citet{PlotkinP09,PlotkinP13} introduced
\emph{handlers for algebraic effects} \emph{handlers for algebraic effects}, which interpret computation
trees induced by effectful operations in a similar way to runners of
Programming with algebraic effects and their handlers was popularised free monad interpret computation trees. A crucial difference between
by \citet{KammarLO13}, who demonstrated that algebraic effects and handlers and runners is that the handlers are based on first-class
handlers provide a modular abstraction for effectful programming. delimited control.
%
Practical programming with algebraic effects and their handlers was
popularised by \citet{KammarLO13}, who demonstrated that algebraic
effects and handlers provide a modular basis for effectful
programming.
%\dhil{Cite \citet{PlotkinP01,PlotkinP02,PlotkinP03,PlotkinP09,PlotkinP13}.} %\dhil{Cite \citet{PlotkinP01,PlotkinP02,PlotkinP03,PlotkinP09,PlotkinP13}.}
% %