<?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: An amazing functional</title>
	<atom:link href="http://math.andrej.com/2010/07/29/an-amazing-functional/feed/" rel="self" type="application/rss+xml" />
	<link>http://math.andrej.com/2010/07/29/an-amazing-functional/</link>
	<description>Mathematics for computers</description>
	<lastBuildDate>Mon, 30 Jan 2012 07:14:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2-beta2-18055</generator>
	<item>
		<title>By: Heinrich Apfelmus</title>
		<link>http://math.andrej.com/2010/07/29/an-amazing-functional/comment-page-1/#comment-13636</link>
		<dc:creator>Heinrich Apfelmus</dc:creator>
		<pubDate>Sat, 07 Aug 2010 08:48:43 +0000</pubDate>
		<guid isPermaLink="false">http://math.andrej.com/?p=532#comment-13636</guid>
		<description>Awesome!

A small remark: I think the remark on laziness of &lt;code&gt;p True&lt;/code&gt; versus &lt;code&gt;if p True then True else False&lt;/code&gt; is nonsense. Both have the same behavior: they are strict in &lt;code&gt;p&lt;/code&gt;, because forcing either expression will force &lt;code&gt;p&lt;/code&gt; as well.

Maybe you&#039;re thinking of a strict-by-default semantics with suspensions along the lines of &lt;code&gt;Lazy (p True)&lt;/code&gt; versus &lt;code&gt;if p True then Lazy True else Lazy False&lt;/code&gt;, but that&#039;s not how it happens in Haskell.</description>
		<content:encoded><![CDATA[<p>Awesome!</p>
<p>A small remark: I think the remark on laziness of <code>p True</code> versus <code>if p True then True else False</code> is nonsense. Both have the same behavior: they are strict in <code>p</code>, because forcing either expression will force <code>p</code> as well.</p>
<p>Maybe you&#8217;re thinking of a strict-by-default semantics with suspensions along the lines of <code>Lazy (p True)</code> versus <code>if p True then Lazy True else Lazy False</code>, but that&#8217;s not how it happens in Haskell.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrej Bauer</title>
		<link>http://math.andrej.com/2010/07/29/an-amazing-functional/comment-page-1/#comment-13611</link>
		<dc:creator>Andrej Bauer</dc:creator>
		<pubDate>Fri, 30 Jul 2010 19:37:33 +0000</pubDate>
		<guid isPermaLink="false">http://math.andrej.com/?p=532#comment-13611</guid>
		<description>@Dan: Yes of course, but that doesn&#039;t look as cool, does it :-) ?</description>
		<content:encoded><![CDATA[<p>@Dan: Yes of course, but that doesn&#8217;t look as cool, does it :-) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Doel</title>
		<link>http://math.andrej.com/2010/07/29/an-amazing-functional/comment-page-1/#comment-13601</link>
		<dc:creator>Dan Doel</dc:creator>
		<pubDate>Thu, 29 Jul 2010 23:32:19 +0000</pubDate>
		<guid isPermaLink="false">http://math.andrej.com/?p=532#comment-13601</guid>
		<description>Not only that. Given the type, I expect that if you have the Monad instance defined, ox is one line:

    ox = sequence :: [S r x] -&gt; S r [x]</description>
		<content:encoded><![CDATA[<p>Not only that. Given the type, I expect that if you have the Monad instance defined, ox is one line:</p>
<p>    ox = sequence :: [S r x] -&gt; S r [x]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

