On Thu, May 30, 2013 at 6:15 AM, Claus Reinke <[email protected]> wrote: >> The fact that we can make it monadic is just a bonus; any time you see >> "monad" just think "container++" - it's just a proven useful bit of >> structure on top which makes it easy to work with the values inside >> the container. (It's a bit more abstract than that, of course, but >> thinking in terms of containers works for many monads, and helps guide >> understanding toward the more abstract notion.) > > You are aware of the over-simplification in that suggestion, but it > can still be harmful to readers here (who may dismiss the simple examples > and never get to the abstract notion). So, please pardon > a little elaboration/clarification:
Believe me, it's not harmful. It's a useful, and for many people necessary, step in the process of understanding monads. Many of the common monads can be implemented and understood as containers, even if they really represent more abstract concepts. The more abstract monads are difficult to understand unless you've already passed through sufficient numbers of simpler examples, which often use the simple "container-like" monads to help comprehension. I gained true understanding of monads relatively recently, so I still remember my learning process (which mostly involved reading Typeclassopedia over and over again until things clicked). ~TJ _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

