<?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: Playing unsafe haskell</title>
	<atom:link href="http://therning.org/magnus/archives/249/feed" rel="self" type="application/rss+xml" />
	<link>http://therning.org/magnus/archives/249</link>
	<description>Incoherent mumblings</description>
	<pubDate>Tue, 18 Nov 2008 21:38:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Magnus</title>
		<link>http://therning.org/magnus/archives/249#comment-38598</link>
		<dc:creator>Magnus</dc:creator>
		<pubDate>Wed, 09 May 2007 09:48:04 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/249#comment-38598</guid>
		<description>&lt;p&gt;Alan,&lt;/p&gt;

&lt;p&gt;That's a very good point.  I've found that quite a few standard functions are "lazy enough", just like &lt;code&gt;getContents&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for the link to FRP!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Alan,</p>
<p>That&#8217;s a very good point.  I&#8217;ve found that quite a few standard functions are &#8220;lazy enough&#8221;, just like <code>getContents</code>.</p>
<p>Thanks for the link to FRP!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan Falloon</title>
		<link>http://therning.org/magnus/archives/249#comment-38015</link>
		<dc:creator>Alan Falloon</dc:creator>
		<pubDate>Mon, 07 May 2007 16:21:20 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/249#comment-38015</guid>
		<description>&lt;p&gt;If your event stream is actually the characters of stdin, then getContents already hides the details of the unsafeInterleaveIO for you. As in:&lt;/p&gt;

&lt;p&gt;getContents &#62;&#62;= mapM_ yourFunc . takeWhile (/= 'q')&lt;/p&gt;

&lt;p&gt;However, understanding the internals makes it possible to generalize this approach to one where the event stream contains richer data (such as GUI events).&lt;/p&gt;

&lt;p&gt;Perhaps there is more that can be learned from &lt;a href="http://www.haskell.org/frp/" rel="nofollow"&gt;FRP&lt;/a&gt; (functional reactive programming)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>If your event stream is actually the characters of stdin, then getContents already hides the details of the unsafeInterleaveIO for you. As in:</p>
<p>getContents &gt;&gt;= mapM_ yourFunc . takeWhile (/= &#8216;q&#8217;)</p>
<p>However, understanding the internals makes it possible to generalize this approach to one where the event stream contains richer data (such as GUI events).</p>
<p>Perhaps there is more that can be learned from <a href="http://www.haskell.org/frp/" rel="nofollow">FRP</a> (functional reactive programming)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
