Stokhof, Veltman
[lambda.git] / state_monad_tutorial.mdwn
index 6502014..3add9bd 100644 (file)
@@ -134,7 +134,7 @@ or, using pattern-matching on the record (you don't have to specify every field
        let { total = value; _ } = s0
        in (value, { total = s0.total + 2; modifications = s0.modifications + 2};;
 
        let { total = value; _ } = s0
        in (value, { total = s0.total + 2; modifications = s0.modifications + 2};;
 
-But **the point of learning how to do this monadically** is that (1) monads show us how to embed more sophisticated programming techniques, such as imperative state and continuations, into frameworks that don't natively possess them (such as the set-theoretic metalanguage of Groenendijk, Stockhof and Veltman's paper); and (2) monads are delicious.
+But **the point of learning how to do this monadically** is that (1) monads show us how to embed more sophisticated programming techniques, such as imperative state and continuations, into frameworks that don't natively possess them (such as the set-theoretic metalanguage of Groenendijk, Stokhof and Veltman's paper); and (2) monads are delicious.
 
 Keep in mind that the final result of a bind chain doesn't have to be the same type as the starting value:
 
 
 Keep in mind that the final result of a bind chain doesn't have to be the same type as the starting value: