I didn&#39;t knew Wadler&#39;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 &quot;monad tutorial&quot;, 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">&lt;<a href="mailto:derek.a.elkins@gmail.com">derek.a.elkins@gmail.com</a>&gt;</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>
&gt; Jonathan Cast wrote:<br>
&gt; &gt; On Tue, 2009-01-13 at 12:56 -0200, Rafael Gustavo da Cunha Pereira<br>
&gt; &gt; Pinto wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Inspired by the paper &quot;Functional Programming with Overloading and<br>
&gt; &gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; Higher-Order Polymorphism&quot;, Mark P Jones<br>
&gt; &gt;&gt; (<a href="http://web.cecs.pdx.edu/%7Empj/pubs/springschool.html" target="_blank">http://web.cecs.pdx.edu/~mpj/pubs/springschool.html</a>)<br>
&gt; &gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Advanced School of Functional Programming, 1995.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; SO WHAT?<br>
&gt; &gt;<br>
&gt; &gt; So have you read Jones&#39; paper? &nbsp;Or do you have a *concrete*<br>
&gt; &gt; explanation of how it differs from your desired `guided tour&#39;?<br>
&gt;<br>
&gt; To give a specific example, a few weeks ago I wanted an explanation of<br>
&gt; the &#39;pass&#39; function and couldn&#39;t find it in that paper.<br>
&gt;<br>
&gt; 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&#39;s initial claim, Wadler&#39;s<br>
papers &quot;The Essence of Functional Programming&quot; and/or &quot;Monads for<br>
Functional Programming&quot; have exactly what he wants. &nbsp;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. &nbsp;While I&#39;m not saying that<br>
this is the case here, I suspect that many people don&#39;t read those<br>
papers because 1) they haven&#39;t heard of them and 2) they are &quot;papers&quot;<br>
and thus couldn&#39;t possibly be readable and understandable (which also<br>
partially causes (1) as people just don&#39;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>