<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Monads! (and Why Monad Tutorials Are All Awful)</title>
	<atom:link href="http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/feed/" rel="self" type="application/rss+xml" />
	<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/</link>
	<description>Computer Science and Goings-On</description>
	<pubDate>Mon, 07 Jul 2008 08:57:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>By: andrea</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-49</link>
		<dc:creator>andrea</dc:creator>
		<pubDate>Thu, 13 Sep 2007 11:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-49</guid>
		<description>Hi,
I'm late, I know, but still I'm one of the authors of those boring monads tutorials. Well, I'm surprised that you read them all - there are not so many actually - and you had to wait for a post on lambda the ultimate to find out about Wadler's paper.

Indeed my tutorial, http://haskell.org/haskellwiki/The_Monadic_Way/Part_I, pretends to be a "translation" of Philip Wadler's "Monads for functional programming". I'm not saying it is a useful or good translation, but tries to make clear that Wadler's paper IS the paper to read if you want to understand monads. I was first in stating that. You come second.

Andrea</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I&#8217;m late, I know, but still I&#8217;m one of the authors of those boring monads tutorials. Well, I&#8217;m surprised that you read them all - there are not so many actually - and you had to wait for a post on lambda the ultimate to find out about Wadler&#8217;s paper.</p>
<p>Indeed my tutorial, <a href="http://haskell.org/haskellwiki/The_Monadic_Way/Part_I" rel="nofollow">http://haskell.org/haskellwiki/The_Monadic_Way/Part_I</a>, pretends to be a &#8220;translation&#8221; of Philip Wadler&#8217;s &#8220;Monads for functional programming&#8221;. I&#8217;m not saying it is a useful or good translation, but tries to make clear that Wadler&#8217;s paper IS the paper to read if you want to understand monads. I was first in stating that. You come second.</p>
<p>Andrea</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: So I Was On Reddit &#171; A Ham Sandwich</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-15</link>
		<dc:creator>So I Was On Reddit &#171; A Ham Sandwich</dc:creator>
		<pubDate>Wed, 08 Aug 2007 06:34:12 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-15</guid>
		<description>[...] than two weeks after starting this blog, I ended up on programming.reddit.com (direct link) for this entry on the fact that most monad tutorials are awful, and offering a pointer to a paper . [...]</description>
		<content:encoded><![CDATA[<p>[...] than two weeks after starting this blog, I ended up on programming.reddit.com (direct link) for this entry on the fact that most monad tutorials are awful, and offering a pointer to a paper . [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Subject Code &#187; del.icio.us bookmarks for August 3rd, 2007</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-14</link>
		<dc:creator>Subject Code &#187; del.icio.us bookmarks for August 3rd, 2007</dc:creator>
		<pubDate>Sat, 04 Aug 2007 01:01:55 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-14</guid>
		<description>[...] Monads! (and Why Monad Tutorials Are All Awful) &#171; A Ham Sandwich - I agree, most monads tutorials leave thinking &#8220;So what?&#8221;. [...]</description>
		<content:encoded><![CDATA[<p>[...] Monads! (and Why Monad Tutorials Are All Awful) &laquo; A Ham Sandwich - I agree, most monads tutorials leave thinking &#8220;So what?&#8221;. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: csgordon</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-8</link>
		<dc:creator>csgordon</dc:creator>
		<pubDate>Thu, 02 Aug 2007 17:49:45 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-8</guid>
		<description>Incidentally, I just found your blog earlier today linked from reddit, thanks!</description>
		<content:encoded><![CDATA[<p>Incidentally, I just found your blog earlier today linked from reddit, thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Armstrong</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-7</link>
		<dc:creator>John Armstrong</dc:creator>
		<pubDate>Thu, 02 Aug 2007 07:48:47 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-7</guid>
		<description>You know, if you wanted the category theory background for monads (though not the applications to programming, as yet), it's all up under the "category theory" tag at my weblog...</description>
		<content:encoded><![CDATA[<p>You know, if you wanted the category theory background for monads (though not the applications to programming, as yet), it&#8217;s all up under the &#8220;category theory&#8221; tag at my weblog&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: csgordon</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-6</link>
		<dc:creator>csgordon</dc:creator>
		<pubDate>Thu, 02 Aug 2007 06:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-6</guid>
		<description>Assuming you're referring to &lt;a href="http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html" rel="nofollow"&gt;this&lt;/a&gt; one, I had found it before running across the above paper linked from Lambda the Ultimate.  I don't think I read it at the time I found it because I had gotten annoyed at some number of other tutorials earlier in the day, and dumped it into my del.icio.us bookmark list - which is really just a black hole.

Looking through it now, it does seem pretty good.  I think I still prefer the paper, because it is extremely thorough, and I think the pace works better in the paper, as the sigfpe one is a little quick.  I do wish I'd actually bothered to read this the first time :-p</description>
		<content:encoded><![CDATA[<p>Assuming you&#8217;re referring to <a href="http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html" rel="nofollow">this</a> one, I had found it before running across the above paper linked from Lambda the Ultimate.  I don&#8217;t think I read it at the time I found it because I had gotten annoyed at some number of other tutorials earlier in the day, and dumped it into my del.icio.us bookmark list - which is really just a black hole.</p>
<p>Looking through it now, it does seem pretty good.  I think I still prefer the paper, because it is extremely thorough, and I think the pace works better in the paper, as the sigfpe one is a little quick.  I do wish I&#8217;d actually bothered to read this the first time :-p</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Kow</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-5</link>
		<dc:creator>Eric Kow</dc:creator>
		<pubDate>Thu, 02 Aug 2007 05:19:06 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-5</guid>
		<description>Being responsible for two instances of that awfulness (monads as space suits, and as nuclear waste [*]), I feel that I must apologise.  Believe me, you aren't the only reader to have found themselves exasperated by the inanity of the tutorial or the insistance on sticking to the metaphor.

That said, I wonder what you made of the sigfpe tutorial.  It seems to avoid the sins of bullshittery and strikes a delicate balance between showing you that they are easy and not trying to pass them off as trivial.

For a bit of background, maybe to share the plight of a monad-tutorial-writer, I mostly wrote that tutorial to teach myself about monads.  At the time, I knew only about 'All about Monads' and the YAHT tutorial, which I found myself struggling with.  So I took stock of what I think I got, and then tried explaining it in my terms, simple "mechanical" and "moving-parts"-ish.  Some people have found it helpful -- writing it at least made me feel comfortable enough to use them with some success -- but I'm always worrying that I've let somebody walk away with the wrong idea, that I've deceived them (and myself) into think they understood monads when in fact I've just made us all miss the point completely.  Somebody remarked that, "yeah, it's just a like a FP design pattern"... which I'm not sure I would be comfortable with.

[*] the latter metaphor was proposed by a wikibookian who found the imagery of the first one 'far fetched' (a space suit for more than one person?).  Unfortunately, the new metaphore gets things 'backwards' in the sense that the thing that is inside the container is the 'dangerous' stuff, nuclear waste, oh my!  But I suppose this illustrates the danger of trying to explain something like this with a metaphor.</description>
		<content:encoded><![CDATA[<p>Being responsible for two instances of that awfulness (monads as space suits, and as nuclear waste [*]), I feel that I must apologise.  Believe me, you aren&#8217;t the only reader to have found themselves exasperated by the inanity of the tutorial or the insistance on sticking to the metaphor.</p>
<p>That said, I wonder what you made of the sigfpe tutorial.  It seems to avoid the sins of bullshittery and strikes a delicate balance between showing you that they are easy and not trying to pass them off as trivial.</p>
<p>For a bit of background, maybe to share the plight of a monad-tutorial-writer, I mostly wrote that tutorial to teach myself about monads.  At the time, I knew only about &#8216;All about Monads&#8217; and the YAHT tutorial, which I found myself struggling with.  So I took stock of what I think I got, and then tried explaining it in my terms, simple &#8220;mechanical&#8221; and &#8220;moving-parts&#8221;-ish.  Some people have found it helpful &#8212; writing it at least made me feel comfortable enough to use them with some success &#8212; but I&#8217;m always worrying that I&#8217;ve let somebody walk away with the wrong idea, that I&#8217;ve deceived them (and myself) into think they understood monads when in fact I&#8217;ve just made us all miss the point completely.  Somebody remarked that, &#8220;yeah, it&#8217;s just a like a FP design pattern&#8221;&#8230; which I&#8217;m not sure I would be comfortable with.</p>
<p>[*] the latter metaphor was proposed by a wikibookian who found the imagery of the first one &#8216;far fetched&#8217; (a space suit for more than one person?).  Unfortunately, the new metaphore gets things &#8216;backwards&#8217; in the sense that the thing that is inside the container is the &#8216;dangerous&#8217; stuff, nuclear waste, oh my!  But I suppose this illustrates the danger of trying to explain something like this with a metaphor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: csgordon</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-4</link>
		<dc:creator>csgordon</dc:creator>
		<pubDate>Thu, 02 Aug 2007 05:11:50 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-4</guid>
		<description>I was looking for an explanation more halfway between category theory and the basic 'What is a Monad in Haskell' question, but what you posted is certainly along the right lines.  Just make sure you end up giving a good explanation of why we care about monads.</description>
		<content:encoded><![CDATA[<p>I was looking for an explanation more halfway between category theory and the basic &#8216;What is a Monad in Haskell&#8217; question, but what you posted is certainly along the right lines.  Just make sure you end up giving a good explanation of why we care about monads.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexis</title>
		<link>http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-3</link>
		<dc:creator>Alexis</dc:creator>
		<pubDate>Thu, 02 Aug 2007 01:57:32 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/#comment-3</guid>
		<description>Heh, i just posted &lt;a href="http://www.haskell.org/pipermail/haskell-cafe/2007-August/029866.html" rel="nofollow"&gt;this comment about explanations of Haskell Monads&lt;/a&gt; to the haskell-cafe list. :-)</description>
		<content:encoded><![CDATA[<p>Heh, i just posted <a href="http://www.haskell.org/pipermail/haskell-cafe/2007-August/029866.html" rel="nofollow">this comment about explanations of Haskell Monads</a> to the haskell-cafe list. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>
