
I didn't knew Wadler's papers (I save all papers I read into a external USB
HD, so I can read them later!), and at a first glance it is really good.
Then again, instead of creating another "monad tutorial", what about a
Haskell monads reference guide, and some worked examples?
Some of this work could even be attached to the library documentation.
Regards
Rafael
On Tue, Jan 13, 2009 at 15:27, Derek Elkins
On Tue, 2009-01-13 at 16:22 +0000, Sittampalam, Ganesh wrote:
Jonathan Cast wrote:
On Tue, 2009-01-13 at 12:56 -0200, Rafael Gustavo da Cunha Pereira Pinto wrote:
Inspired by the paper "Functional Programming with Overloading and Higher-Order Polymorphism", Mark P Jones (http://web.cecs.pdx.edu/~mpj/pubs/springschool.htmlhttp://web.cecs.pdx.edu/%7Empj/pubs/springschool.html
)
Advanced School of Functional Programming, 1995.
SO WHAT?
So have you read Jones' paper? Or do you have a *concrete* explanation of how it differs from your desired `guided tour'?
To give a specific example, a few weeks ago I wanted an explanation of the 'pass' function and couldn't find it in that paper.
Ganesh
Several years ago I documented all the (basic) monads in the mtl on the (old) wiki.
http://web.archive.org/web/20030927210146/haskell.org/hawiki/MonadTemplateLi... In particular, http://web.archive.org/web/20030907203223/haskell.org/hawiki/MonadWriter
To respond to the essential point of Rafael's initial claim, Wadler's papers "The Essence of Functional Programming" and/or "Monads for Functional Programming" have exactly what he wants. These are the papers that I recommend to anyone who is learning about monads. http://homepages.inf.ed.ac.uk/wadler/topics/monads.html
Please, we do not need the 101st monad tutorial when there was an adequate one made almost two decades ago. While I'm not saying that this is the case here, I suspect that many people don't read those papers because 1) they haven't heard of them and 2) they are "papers" and thus couldn't possibly be readable and understandable (which also partially causes (1) as people just don't think to look for papers at all.)
-- Rafael Gustavo da Cunha Pereira Pinto Electronic Engineer, MSc.