[Haskell-cafe] Monad Description For Imperative Programmer

Stuart Cook scook0 at gmail.com
Thu Aug 2 07:31:47 EDT 2007


On 8/2/07, Dougal Stanton <ithika at gmail.com> wrote:
> Do I have an suggestions? Well, maybe the right way would be to do as
> we do with map and fold, etc: show the explicitly recursive example,
> then generalise. So, show how we could we would thread state in
> Haskell, or how we would do optional (Maybe-style) values, then
> generalise, *slowly* coalescing the more similar monads first before
> reaching the 'top' of the monadic phylogenetic tree.
>
> Hmm, I can see that previous paragraph is not as clear as it could be.
> But anyway: has anyone used this approach before?

These immediately came to mind:

"You Could Have Invented Monads! (And Maybe You Already Have.)"
http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html
[http://tinyurl.com/ecqzl]

"Monads for Functional Programming"
http://citeseer.ist.psu.edu/wadler95monads.html
[http://tinyurl.com/2foj46]

I personally received my first monadic enlightenment from Bird's
"Introduction to Functional Programming using Haskell", which also
uses the same approach. I think it's an excellent way to approach the
topic.


Stuart Cook


More information about the Haskell-Cafe mailing list