X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2Fweek9_monad_transformers.mdwn;h=c8133e2041d05ab7633843fa08bd705e664c351a;hp=68ea563cb31ae7de13761c3663e0e1730284fa41;hb=a0eb18e702862266fdc8a7d935d6cc33821fdf4a;hpb=20c3705983ac428fecca3a33b472431371e6b347 diff --git a/topics/week9_monad_transformers.mdwn b/topics/week9_monad_transformers.mdwn index 68ea563c..c8133e20 100644 --- a/topics/week9_monad_transformers.mdwn +++ b/topics/week9_monad_transformers.mdwn @@ -165,7 +165,7 @@ When List is on the inside, the failed results just got dropped and the computat On the other hand, when Option is on the inside, as in LO, failures (which we again represent by `mzero`s from the Option monad, not the List monad's own `mzero`; but here since it's the inner monad we need to `hoist Monad.Option.mzero`) abort the whole computation. (If you instead used the List monad's `mzero`, it'd be ignored by `++` and you'd end with just `Some [30]`.) -This is fun. Notice the difference it makes whether the second `++` is native to the outer `Monad.List`, or whether it's the inner `Monad.List`'s `++` hoisted into the outer wrapper: +This is fun. Here is a List around a List. Notice the difference it makes whether the second `++` is native to the outer `Monad.List`, or whether it's the inner `Monad.List`'s `++` hoisted into the outer wrapper: # module LL = Monad.List.T(Monad.List);; @@ -190,7 +190,8 @@ This is fun. Notice the difference it makes whether the second `++` is native to Further Reading --------------- -* This is excellent, everyone should read: [Monad Transformers Step by Step](http://www.grabmueller.de/martin/www/pub/Transformers.pdf) +* This is excellent, everyone should read: [Monad Transformers Step by Step](http://www.cs.virginia.edu/~wh5a/personal/Transformers.pdf) + * Read Part III of [All About Monads](http://web.archive.org/web/20071106232016/haskell.org/all_about_monads/html/introIII.html). This link is to an archived version, the main link to haskell.org seems to be broken. Some but not all of this site has been [absorbed into the Haskell wikibook](http://en.wikibooks.org/wiki/Haskell/Monad_transformers).