diff --git a/thesis.tex b/thesis.tex index a5f3821..2e9a5bd 100644 --- a/thesis.tex +++ b/thesis.tex @@ -1430,20 +1430,25 @@ At the start of the 00s decade effects}, which is an approach to effectful programming that inverts \citeauthor{Moggi91}'s view such that \emph{computational effects determine monads}. In their view a computational effect is given by -a signature of operations and a collection of equations that govern -their behaviour, together they generate a monad rather than the other -way around. +a signature of effectful operations and a collection of equations that +govern their behaviour, together they generate a free monad rather +than the other way around. % In practical programming terms, we may understand an algebraic effect as an abstract interface, whose operations build the underlying free monad. By the end of the decade \citet{PlotkinP09,PlotkinP13} introduced -\emph{handlers for algebraic effects} - -Programming with algebraic effects and their handlers was popularised -by \citet{KammarLO13}, who demonstrated that algebraic effects and -handlers provide a modular abstraction for effectful programming. +\emph{handlers for algebraic effects}, which interpret computation +trees induced by effectful operations in a similar way to runners of +free monad interpret computation trees. A crucial difference between +handlers and runners is that the handlers are based on first-class +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}.} %