X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=state_monad_tutorial.mdwn;h=3add9bd273071358b11f24532e3bc18454c06b55;hp=65020143dd370ca10e319f4d7bc51858e50ab9b6;hb=c096178f6fdbedb2b6de4b198b05d77566588438;hpb=e32623b19bb5a3fd40ada29c912c7ecfc5784fab;ds=sidebyside diff --git a/state_monad_tutorial.mdwn b/state_monad_tutorial.mdwn index 65020143..3add9bd2 100644 --- a/state_monad_tutorial.mdwn +++ b/state_monad_tutorial.mdwn @@ -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};; -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: