Better intro to the All About Monads tutorial?

I've done some work on this page: https://wiki.haskell.org/All_About_Monads I could use some help in improving my improvements 1. Beginners -- if you haven't looked at monads yet, does this new intro boost your confidence? 2. Those who help beginners here -- have I committed any technical errors? I was a little frustrated about the text as it stood. For example: "... a monad is a way to structure computations in terms of values and sequences of computations using typed values. Monads allow the programmer to build up computations using sequential building blocks, which can themselves be sequences of computations. The monad determines how combined computations form a new computation and frees the programmer from having to code the combination manually each time it is required." The problem with this was that you could substitute "compiler" or "C++ class" and it would be not much less true and not much more uninformative. The approach I took to rewriting (aside from where I take the reader's hand gently at the beginning) was to try to anchor the treatment more in concepts that the reader might already understand. The two main concepts were were pipelines (as in shell programming) and "cross-cutting concerns" (with links to Wikipedia articles for readers who might not know one or the other or both.) I've left almost all of the original wording intact and just wrote around it. Perhaps it could be trimmed, maybe even a lot. I don't understand monads well enough to write one myself yet. But I think a newbie perspective can help in writing for newbies: unlike the expert, the sources of confusion and incomprehension are fresh in your mind, as are the ways you got past them. Regards, Michael Turner Executive Director Project Persephone 1-25-33 Takadanobaba Shinjuku-ku Tokyo 169-0075 Mobile: +81 (90) 5203-8682 turner@projectpersephone.org Understand - http://www.projectpersephone.org/ Join - http://www.facebook.com/groups/ProjectPersephone/ Donate - http://www.patreon.com/ProjectPersephone Volunteer - https://github.com/ProjectPersephone "Love does not consist in gazing at each other, but in looking outward together in the same direction." -- Antoine de Saint-Exupéry
participants (1)
-
Michael Turner