<?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: Hrmmm</title>
	<atom:link href="http://undefined.com/ia/2007/02/07/hrmmm/feed/" rel="self" type="application/rss+xml" />
	<link>http://undefined.com/ia/2007/02/07/hrmmm/</link>
	<description>Agile &#38; Open Source Software, Economics, Liberty and Entrepreneurship</description>
	<pubDate>Wed, 20 Aug 2008 11:59:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Bob Evans</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-27633</link>
		<dc:creator>Bob Evans</dc:creator>
		<pubDate>Sun, 15 Apr 2007 22:11:58 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-27633</guid>
		<description>I run OS X, and built ghc and hugs from the source, it worked just fine. The various ports collections are almost always more trouble than just downloading the source and running it yourself.

Good luck.</description>
		<content:encoded><![CDATA[<p>I run OS X, and built ghc and hugs from the source, it worked just fine. The various ports collections are almost always more trouble than just downloading the source and running it yourself.</p>
<p>Good luck.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jb</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8715</link>
		<dc:creator>jb</dc:creator>
		<pubDate>Fri, 09 Feb 2007 20:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8715</guid>
		<description>Hi Peter,
   Yeah, I tried that before.  It blew up on me.  I apparently don't have the appropriate cc compiler set up.

   I found a workaround -&#62; run WinHugs under parallels.</description>
		<content:encoded><![CDATA[<p>Hi Peter,<br />
   Yeah, I tried that before.  It blew up on me.  I apparently don&#8217;t have the appropriate cc compiler set up.</p>
<p>   I found a workaround -&gt; run WinHugs under parallels.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Burns</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8697</link>
		<dc:creator>Peter Burns</dc:creator>
		<pubDate>Fri, 09 Feb 2007 16:45:19 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8697</guid>
		<description>My path to getting Haskell running on OSX was, if I recall correctly:

1. Get &lt;a href="http://darwinports.opendarwin.org/getdp/#content" rel="nofollow"&gt;Darwin ports&lt;/a&gt;.
2. sudo port install ghc
3. Profit.

usage:
ghc -o binary_file source.hs</description>
		<content:encoded><![CDATA[<p>My path to getting Haskell running on OSX was, if I recall correctly:</p>
<p>1. Get <a href="http://darwinports.opendarwin.org/getdp/#content" rel="nofollow">Darwin ports</a>.<br />
2. sudo port install ghc<br />
3. Profit.</p>
<p>usage:<br />
ghc -o binary_file source.hs</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neel Krishnaswami</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8616</link>
		<dc:creator>Neel Krishnaswami</dc:creator>
		<pubDate>Fri, 09 Feb 2007 00:17:20 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8616</guid>
		<description>The purpose of the Y combinator is  to help you concretely see that the operation of taking a fixed point is something &lt;em&gt;you can package up as an abstraction&lt;/em&gt;. The reason this is important is that it is sometimes the case that it's very useful to have a custom fixed-point operation in an API. 

Here's a concrete example. If you have a parser combinator library, like Haskell's parsec, you'll see that they implement recursion in grammars using the native recursion in the programming language. This works, but has the defect that using left-recursion will make your program go into an infinite loop. However, if you have a custom recursion combinator, you can instrument it to detect that you're looping and break out of it. This means that left-recursive grammars will work just fine. This is an API that I couldn't have built without knowing that the Y combinator existed.</description>
		<content:encoded><![CDATA[<p>The purpose of the Y combinator is  to help you concretely see that the operation of taking a fixed point is something <em>you can package up as an abstraction</em>. The reason this is important is that it is sometimes the case that it&#8217;s very useful to have a custom fixed-point operation in an API. </p>
<p>Here&#8217;s a concrete example. If you have a parser combinator library, like Haskell&#8217;s parsec, you&#8217;ll see that they implement recursion in grammars using the native recursion in the programming language. This works, but has the defect that using left-recursion will make your program go into an infinite loop. However, if you have a custom recursion combinator, you can instrument it to detect that you&#8217;re looping and break out of it. This means that left-recursive grammars will work just fine. This is an API that I couldn&#8217;t have built without knowing that the Y combinator existed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jb</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8606</link>
		<dc:creator>jb</dc:creator>
		<pubDate>Thu, 08 Feb 2007 22:44:01 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8606</guid>
		<description>No, I'm usng MacOs X.  I tried to download Hugs, and the DarwinLoader (or whatever it is called) blew up on me.</description>
		<content:encoded><![CDATA[<p>No, I&#8217;m usng MacOs X.  I tried to download Hugs, and the DarwinLoader (or whatever it is called) blew up on me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shane</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8605</link>
		<dc:creator>Shane</dc:creator>
		<pubDate>Thu, 08 Feb 2007 22:34:03 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8605</guid>
		<description>Just to clarify, do you mean an old school Mac OS 9 and not a Mac OS X implementation of Haskell?</description>
		<content:encoded><![CDATA[<p>Just to clarify, do you mean an old school Mac OS 9 and not a Mac OS X implementation of Haskell?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jb</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8588</link>
		<dc:creator>jb</dc:creator>
		<pubDate>Thu, 08 Feb 2007 17:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8588</guid>
		<description>Yeah, Reg, that's where I was going as well.   I believe that there are many paths to greatness, and for each person, the path is probably different.

I read an interesting article recently, which talks about the concept of "innate talent".  These scientists did some digging, and they discovered that "innate talent" is essentially shorthand for "10 years of focused practice and effort"</description>
		<content:encoded><![CDATA[<p>Yeah, Reg, that&#8217;s where I was going as well.   I believe that there are many paths to greatness, and for each person, the path is probably different.</p>
<p>I read an interesting article recently, which talks about the concept of &#8220;innate talent&#8221;.  These scientists did some digging, and they discovered that &#8220;innate talent&#8221; is essentially shorthand for &#8220;10 years of focused practice and effort&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reg Braithwaite</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8586</link>
		<dc:creator>Reg Braithwaite</dc:creator>
		<pubDate>Thu, 08 Feb 2007 17:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8586</guid>
		<description>Thanks for the very generous update!

No, I'm not a great programmer. But let's turn to something very insightful in your post:

There are all these people, and they all have different paths to greatness, different ways of recognizing "great" (whatever that is).

They could be all wrong, all full of crap.

But what if they're right? Isn't that very interesting, the possibility that there is such a thing as greatness, but we don't understand very well how to develop it, or a shortcut for recognizing it?</description>
		<content:encoded><![CDATA[<p>Thanks for the very generous update!</p>
<p>No, I&#8217;m not a great programmer. But let&#8217;s turn to something very insightful in your post:</p>
<p>There are all these people, and they all have different paths to greatness, different ways of recognizing &#8220;great&#8221; (whatever that is).</p>
<p>They could be all wrong, all full of crap.</p>
<p>But what if they&#8217;re right? Isn&#8217;t that very interesting, the possibility that there is such a thing as greatness, but we don&#8217;t understand very well how to develop it, or a shortcut for recognizing it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Atwood</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8539</link>
		<dc:creator>Jeff Atwood</dc:creator>
		<pubDate>Thu, 08 Feb 2007 09:08:05 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8539</guid>
		<description>The answer is very simple: we're all full of crap.</description>
		<content:encoded><![CDATA[<p>The answer is very simple: we&#8217;re all full of crap.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Piers Cawley</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8528</link>
		<dc:creator>Piers Cawley</dc:creator>
		<pubDate>Thu, 08 Feb 2007 06:41:12 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8528</guid>
		<description>I suppose it's not so much that the Y combinator is directly useful, it's more that the mental tools you need to understand it are useful.

I'm not entirely sure that that means it's worth blogging about, but then I recently wrote an article about using continuations to implement non deterministic search on the way to solving Sudoku and Kakuro puzzles, so what do I know?</description>
		<content:encoded><![CDATA[<p>I suppose it&#8217;s not so much that the Y combinator is directly useful, it&#8217;s more that the mental tools you need to understand it are useful.</p>
<p>I&#8217;m not entirely sure that that means it&#8217;s worth blogging about, but then I recently wrote an article about using continuations to implement non deterministic search on the way to solving Sudoku and Kakuro puzzles, so what do I know?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reg Braithwaite</title>
		<link>http://undefined.com/ia/2007/02/07/hrmmm/#comment-8523</link>
		<dc:creator>Reg Braithwaite</dc:creator>
		<pubDate>Thu, 08 Feb 2007 03:45:14 +0000</pubDate>
		<guid isPermaLink="false">http://undefined.com/ia/2007/02/07/hrmmm/#comment-8523</guid>
		<description>JB:

You've put words into my mouth! What I said, &lt;i&gt;and still say&lt;/i&gt;, is that learning the Y combinator makes you a better programmer, just as you quote.

I stand by this.

Will that make all and sundry great programmers? No, for the same reason that it doesn't make me a great programmer.

I leave you with a quote from one of my &lt;a href="http://www.imdb.com/title/tt0078754/" rel="nofollow"&gt;favourite movies&lt;/a&gt; that sums up what I &lt;b&gt;actually&lt;/b&gt; think:

Joe Gideon: Listen. I can't make you a great dancer. I don't even know if I can make you a good dancer. But, if you keep trying and don't quit, I know I can make you a better dancer. I'd like very much to do that. Stay?
Victoria: Are you going to keep yelling at me?
Joe Gideon: Probably. 

That's all.</description>
		<content:encoded><![CDATA[<p>JB:</p>
<p>You&#8217;ve put words into my mouth! What I said, <i>and still say</i>, is that learning the Y combinator makes you a better programmer, just as you quote.</p>
<p>I stand by this.</p>
<p>Will that make all and sundry great programmers? No, for the same reason that it doesn&#8217;t make me a great programmer.</p>
<p>I leave you with a quote from one of my <a href="http://www.imdb.com/title/tt0078754/" rel="nofollow">favourite movies</a> that sums up what I <b>actually</b> think:</p>
<p>Joe Gideon: Listen. I can&#8217;t make you a great dancer. I don&#8217;t even know if I can make you a good dancer. But, if you keep trying and don&#8217;t quit, I know I can make you a better dancer. I&#8217;d like very much to do that. Stay?<br />
Victoria: Are you going to keep yelling at me?<br />
Joe Gideon: Probably. </p>
<p>That&#8217;s all.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
