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.<br><br><br>Then again, instead of creating another "monad tutorial", what about a Haskell monads reference guide, and some worked examples?<br>
<br>Some of this work could even be attached to the library documentation.<br><br>Regards<br><br>Rafael<br><br><br><div class="gmail_quote">On Tue, Jan 13, 2009 at 15:27, Derek Elkins <span dir="ltr"><<a href="mailto:derek.a.elkins@gmail.com">derek.a.elkins@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Tue, 2009-01-13 at 16:22 +0000, Sittampalam, Ganesh wrote:<br>
> Jonathan Cast wrote:<br>
> > On Tue, 2009-01-13 at 12:56 -0200, Rafael Gustavo da Cunha Pereira<br>
> > Pinto wrote:<br>
> >><br>
> >> Inspired by the paper "Functional Programming with Overloading and<br>
> >> Higher-Order Polymorphism", Mark P Jones<br>
> >> (<a href="http://web.cecs.pdx.edu/%7Empj/pubs/springschool.html" target="_blank">http://web.cecs.pdx.edu/~mpj/pubs/springschool.html</a>)<br>
> >> Advanced School of Functional Programming, 1995.<br>
> >><br>
> >> SO WHAT?<br>
> ><br>
> > So have you read Jones' paper? Or do you have a *concrete*<br>
> > explanation of how it differs from your desired `guided tour'?<br>
><br>
> To give a specific example, a few weeks ago I wanted an explanation of<br>
> the 'pass' function and couldn't find it in that paper.<br>
><br>
> Ganesh<br>
<br>
</div>Several years ago I documented all the (basic) monads in the mtl on the<br>
(old) wiki.<br>
<a href="http://web.archive.org/web/20030927210146/haskell.org/hawiki/MonadTemplateLibrary" target="_blank">http://web.archive.org/web/20030927210146/haskell.org/hawiki/MonadTemplateLibrary</a><br>
In particular,<br>
<a href="http://web.archive.org/web/20030907203223/haskell.org/hawiki/MonadWriter" target="_blank">http://web.archive.org/web/20030907203223/haskell.org/hawiki/MonadWriter</a><br>
<br>
<br>
To respond to the essential point of Rafael's initial claim, Wadler's<br>
papers "The Essence of Functional Programming" and/or "Monads for<br>
Functional Programming" have exactly what he wants. These are the<br>
papers that I recommend to anyone who is learning about monads.<br>
<a href="http://homepages.inf.ed.ac.uk/wadler/topics/monads.html" target="_blank">http://homepages.inf.ed.ac.uk/wadler/topics/monads.html</a><br>
<br>
Please, we do not need the 101st monad tutorial when there was an<br>
adequate one made almost two decades ago. While I'm not saying that<br>
this is the case here, I suspect that many people don't read those<br>
papers because 1) they haven't heard of them and 2) they are "papers"<br>
and thus couldn't possibly be readable and understandable (which also<br>
partially causes (1) as people just don't think to look for papers at<br>
all.)<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Rafael Gustavo da Cunha Pereira Pinto<br>Electronic Engineer, MSc.<br>