Talk:Haskell/do notation

Overall need for improvement
This has been greatly improved over old versions, but it still isn't up to the standards of previous chapters. It's hard to explain the unsugaring of do, and we just need to keep working at improving this. Backfromquadrangle (discuss • contribs) 20:21, 9 May 2014 (UTC)

On the "just sugar" section
The final example with liftM in the "just sugar" section overlaps with the discussion about purity in the chapter about IO. It might be a good idea to merge one of them into the other... but which one should be kept? Duplode (discuss • contribs) 21:51, 13 October 2013 (UTC)


 * Actually, the discussion of purity has been altered/removed. All references to the idea that IO isn't pure should (and mostly have been) removed. Talking about side-effects and impurity is a sloppy way to explain Haskell. That said, the liftM example does come out of nowhere somewhat and needs more context. Backfromquadrangle (discuss • contribs) 20:21, 9 May 2014 (UTC)


 * The  example, along with the rest of the "just sugar" section, is there to make a point about style; that is, to help disabusing newbies of the notion that do-notation is special, or that it is inevitable when dealing with monads. By the way, one change I am wondering about is replacing most (all?) uses of   with.
 * As for the impurity issue, I disagree in part with your stance about side effects, as stated in my reply at the IO chapter talk. The gist of my position is that, while saying that the  monad is impure is sloppy, saying that   provides a way to reason about and handle impurity in purely functional language is fine, sound and reflects actual practice.--Duplode (discuss • contribs) 19:04, 10 May 2014 (UTC)