<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why not just use Haskell?</title>
	<atom:link href="http://www.hackinghat.com/index.php/c/66/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hackinghat.com/index.php/c/66</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 14:27:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Steve Knight</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1547</link>
		<dc:creator>Steve Knight</dc:creator>
		<pubDate>Sat, 03 Nov 2007 09:21:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1547</guid>
		<description>&gt;&gt; Did you even bother to read his conclusions?

Actually, I did skim read the article and I did very closely read the conclusions.  What I didn&#039;t do was try to comprehend the meaning of the partial template specialisations.   The conclusions, though,   were:

1) You could use it to sort a static table/tree at compile time

Err if it&#039;s static, why not just sort it outside of the code?  I appreciate this might not be practical on a very large static binary search tree but it would save yourself maaany lines of obfuscated template code, and head scratching.

2) Understanding typelists in Andrei&#039;s book

Err, don&#039;t go there.   It&#039;s best left alone.  I&#039;ve done C++ for about 13 years and I&#039;ve never seen any large-scale production project that has made successful use of what&#039;s in Andre&#039;s book.  But your mileage might vary.

3) The capabilities are astounding and provide real benefits to the brevity of the code.

Well not that astounding.  In fact why not just use Haskell?!</description>
		<content:encoded><![CDATA[<p>>> Did you even bother to read his conclusions?</p>
<p>Actually, I did skim read the article and I did very closely read the conclusions.  What I didn&#8217;t do was try to comprehend the meaning of the partial template specialisations.   The conclusions, though,   were:</p>
<p>1) You could use it to sort a static table/tree at compile time</p>
<p>Err if it&#8217;s static, why not just sort it outside of the code?  I appreciate this might not be practical on a very large static binary search tree but it would save yourself maaany lines of obfuscated template code, and head scratching.</p>
<p>2) Understanding typelists in Andrei&#8217;s book</p>
<p>Err, don&#8217;t go there.   It&#8217;s best left alone.  I&#8217;ve done C++ for about 13 years and I&#8217;ve never seen any large-scale production project that has made successful use of what&#8217;s in Andre&#8217;s book.  But your mileage might vary.</p>
<p>3) The capabilities are astounding and provide real benefits to the brevity of the code.</p>
<p>Well not that astounding.  In fact why not just use Haskell?!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Fredette</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1531</link>
		<dc:creator>Joe Fredette</dc:creator>
		<pubDate>Fri, 02 Nov 2007 15:16:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1531</guid>
		<description>Depending on your definition of young people, I agree and disagree. 

I&#039;m fairly young (20) and I understand Haskell just fine, in fact, I think the functional paradigm in general is more intuitive than the Object model. Though I like them both alot.

As for explaining a monad to a 3 year old, I don&#039;t know, but this explaination managed to suffice my 7 year old neice, (She asked me this just a few minutes ago, so I guided the conversation towards monads, here&#039;s a transcript, more or less)

&quot;Uncle Joe! Whateryoudoin?!&quot;
&quot;I&#039;m programming my computer to do cool stuff, like math!&quot;
&quot;Icky, I don&#039;t like math&quot;
&quot;Really? You do it all the time though, have you ever tied your shoes?&quot; 
&quot;Sure! I&#039;m wicked good at it!&quot; 
&quot;Well, thats math!&quot;
&quot;Huh?&quot;
&quot;Well, you have to do things in order, right?&quot;
&quot;Uh-huh,&quot; she then proceeds to explain the &quot;Bunny around the tree&quot; method of shoe tying
&quot;Well, in math, we call those monads, they help us do things in order- its a way to make the computer understand that the bunny can&#039;t go around the tree before he comes out of the hole.&quot;
&quot;Really?&quot;
&quot;More or less, we can even use that idea to do cooler things- like what I&#039;m doing.&quot;
&quot;Neat! I&#039;m gonna go practice programming my shoes now, bye!&quot;

I don&#039;t know if that satisfies the requirement, but I&#039;d bet that any reasonably intelligent 5 year old could understand monads. At least at a very basic level, I don&#039;t think discussions of state monads, or monad transformers would even be out of the reach of a fairly bright 10 year old. 

You try explaining things like Generic Objects, Dynamic Types, Dependency Injection, Interfaces, Mixins, Inheritence (and all associated evilness), Design patterns, etc.

Thats not to say that those things aren&#039;t explainable, or that OO is horrible because of it. I rather like smalltalk (more than Java anyway) though I rarely have a chance to use it.</description>
		<content:encoded><![CDATA[<p>Depending on your definition of young people, I agree and disagree. </p>
<p>I&#8217;m fairly young (20) and I understand Haskell just fine, in fact, I think the functional paradigm in general is more intuitive than the Object model. Though I like them both alot.</p>
<p>As for explaining a monad to a 3 year old, I don&#8217;t know, but this explaination managed to suffice my 7 year old neice, (She asked me this just a few minutes ago, so I guided the conversation towards monads, here&#8217;s a transcript, more or less)</p>
<p>&#8220;Uncle Joe! Whateryoudoin?!&#8221;<br />
&#8220;I&#8217;m programming my computer to do cool stuff, like math!&#8221;<br />
&#8220;Icky, I don&#8217;t like math&#8221;<br />
&#8220;Really? You do it all the time though, have you ever tied your shoes?&#8221;<br />
&#8220;Sure! I&#8217;m wicked good at it!&#8221;<br />
&#8220;Well, thats math!&#8221;<br />
&#8220;Huh?&#8221;<br />
&#8220;Well, you have to do things in order, right?&#8221;<br />
&#8220;Uh-huh,&#8221; she then proceeds to explain the &#8220;Bunny around the tree&#8221; method of shoe tying<br />
&#8220;Well, in math, we call those monads, they help us do things in order- its a way to make the computer understand that the bunny can&#8217;t go around the tree before he comes out of the hole.&#8221;<br />
&#8220;Really?&#8221;<br />
&#8220;More or less, we can even use that idea to do cooler things- like what I&#8217;m doing.&#8221;<br />
&#8220;Neat! I&#8217;m gonna go practice programming my shoes now, bye!&#8221;</p>
<p>I don&#8217;t know if that satisfies the requirement, but I&#8217;d bet that any reasonably intelligent 5 year old could understand monads. At least at a very basic level, I don&#8217;t think discussions of state monads, or monad transformers would even be out of the reach of a fairly bright 10 year old. </p>
<p>You try explaining things like Generic Objects, Dynamic Types, Dependency Injection, Interfaces, Mixins, Inheritence (and all associated evilness), Design patterns, etc.</p>
<p>Thats not to say that those things aren&#8217;t explainable, or that OO is horrible because of it. I rather like smalltalk (more than Java anyway) though I rarely have a chance to use it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ganesh</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1530</link>
		<dc:creator>Ganesh</dc:creator>
		<pubDate>Fri, 02 Nov 2007 14:48:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1530</guid>
		<description>Did you even bother to read his conclusions?</description>
		<content:encoded><![CDATA[<p>Did you even bother to read his conclusions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cale Gibbard</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1529</link>
		<dc:creator>Cale Gibbard</dc:creator>
		<pubDate>Fri, 02 Nov 2007 14:41:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1529</guid>
		<description>I&#039;ve explained to 11 year olds what monads are, with fairly good results. There&#039;s really not a *whole* lot to it. Of course, that wasn&#039;t always the case, but explanations improve with experience over time.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve explained to 11 year olds what monads are, with fairly good results. There&#8217;s really not a *whole* lot to it. Of course, that wasn&#8217;t always the case, but explanations improve with experience over time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phil</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1527</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Fri, 02 Nov 2007 14:23:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1527</guid>
		<description>Eh, always remeber: Monads are NOT a arcane thing, moands aren&#039;t magic!</description>
		<content:encoded><![CDATA[<p>Eh, always remeber: Monads are NOT a arcane thing, moands aren&#8217;t magic!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1525</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Fri, 02 Nov 2007 14:11:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1525</guid>
		<description>Monads are like playing at someone else&#039;s house. For example, you&#039;ve got some good toys at home, but grandma has this great old erector set you can&#039;t take home. If you want to play with it, you have to go over there. And, there&#039;s special rules. you can&#039;t take *all* your legos to grandma&#039;s right? just one or two toys. And, you have to act differently. no running, no yelling. And, you don&#039;t get to leave when you want. you have to wait for mom to come pick you up.

Same goes for your friend with the gi joes. Except you get to be louder and run more over there.

monad transformers are like picking up a friend who brings some gi joes to grandmas. you get the whole set of lego, gi joe and erector. but there&#039;s all kinds of crazy rules about when you can do that. you have to get your mom and his mom to agree on a time... and grandma has to be ok with two kids running that afternoon.</description>
		<content:encoded><![CDATA[<p>Monads are like playing at someone else&#8217;s house. For example, you&#8217;ve got some good toys at home, but grandma has this great old erector set you can&#8217;t take home. If you want to play with it, you have to go over there. And, there&#8217;s special rules. you can&#8217;t take *all* your legos to grandma&#8217;s right? just one or two toys. And, you have to act differently. no running, no yelling. And, you don&#8217;t get to leave when you want. you have to wait for mom to come pick you up.</p>
<p>Same goes for your friend with the gi joes. Except you get to be louder and run more over there.</p>
<p>monad transformers are like picking up a friend who brings some gi joes to grandmas. you get the whole set of lego, gi joe and erector. but there&#8217;s all kinds of crazy rules about when you can do that. you have to get your mom and his mom to agree on a time&#8230; and grandma has to be ok with two kids running that afternoon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: she</title>
		<link>http://www.hackinghat.com/index.php/c/66/comment-page-1#comment-1522</link>
		<dc:creator>she</dc:creator>
		<pubDate>Fri, 02 Nov 2007 12:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.hackinghat.com/index.php/c/66#comment-1522</guid>
		<description>The thing is... Haskell isnt suited for young people whereas the OBJECT model of smalltalk (lets ignore the ugly syntax) is a very intuitive way... 

but if you can explain a 3 year old what a monad is, then you convinced me. ;-)
(Maybe they just inflate the explanation... things should be obvious to 3 year olds too)</description>
		<content:encoded><![CDATA[<p>The thing is&#8230; Haskell isnt suited for young people whereas the OBJECT model of smalltalk (lets ignore the ugly syntax) is a very intuitive way&#8230; </p>
<p>but if you can explain a 3 year old what a monad is, then you convinced me. <img src='http://www.hackinghat.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
(Maybe they just inflate the explanation&#8230; things should be obvious to 3 year olds too)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

