<?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 for shrughes</title>
	<atom:link href="http://shrughes.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://shrughes.com</link>
	<description></description>
	<lastBuildDate>Thu, 02 Dec 2010 16:31:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>Comment on Fluff on asynchronous callbacks. by shrughes</title>
		<link>http://shrughes.com/p/fluff-on-asynchronous-callbacks/comment-page-1/#comment-108</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Thu, 02 Dec 2010 16:31:38 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=562#comment-108</guid>
		<description>And it doesn&#039;t avoid mutual recursion.</description>
		<content:encoded><![CDATA[<p>And it doesn&#8217;t avoid mutual recursion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Blog Nihilism by shrughes</title>
		<link>http://shrughes.com/p/blog-nihilism/comment-page-1/#comment-107</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Tue, 30 Nov 2010 07:08:33 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=549#comment-107</guid>
		<description>P.S. I think the frequent use of &quot;I&quot; is an appropriate literary technique for this post.</description>
		<content:encoded><![CDATA[<p>P.S. I think the frequent use of &#8220;I&#8221; is an appropriate literary technique for this post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on in-once by shrughes</title>
		<link>http://shrughes.com/p/in-once/comment-page-1/#comment-25</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Wed, 07 Apr 2010 17:18:06 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=373#comment-25</guid>
		<description>Right.

&gt; My guess is that it’s these uses that make you “miss Haskell”

What makes me miss Haskell (or GHC) is the libraries and datatypes that I&#039;m familiar with, such as MVars, instead of ones I&#039;m unfamiliar with.  I also find myself missing Haskell&#039;s type system -- yesterday, I caught myself thinking, &quot;Oh, this is an Arrow,&quot; and sometimes I find myself considering, for brief periods of time, going back and rewriting everything in typed-scheme.  Not for longer than 0.68 seconds, though.  Lazy evaluation and memory leaks are what I miss the least.</description>
		<content:encoded><![CDATA[<p>Right.</p>
<p>> My guess is that it’s these uses that make you “miss Haskell”</p>
<p>What makes me miss Haskell (or GHC) is the libraries and datatypes that I&#8217;m familiar with, such as MVars, instead of ones I&#8217;m unfamiliar with.  I also find myself missing Haskell&#8217;s type system &#8212; yesterday, I caught myself thinking, &#8220;Oh, this is an Arrow,&#8221; and sometimes I find myself considering, for brief periods of time, going back and rewriting everything in typed-scheme.  Not for longer than 0.68 seconds, though.  Lazy evaluation and memory leaks are what I miss the least.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on in-once by Eli Barzilay</title>
		<link>http://shrughes.com/p/in-once/comment-page-1/#comment-24</link>
		<dc:creator>Eli Barzilay</dc:creator>
		<pubDate>Wed, 07 Apr 2010 15:02:05 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=373#comment-24</guid>
		<description>What Robby meant in the his comment on the other post applies here too.  Iteration sequences and generators are both &quot;destroying themselves&quot; because they use state.  In some cases it&#039;s possible to have a sequence or a generator that is safe to restart -- like walking down a list.  If this is the case, then you can simply use a function that returns a generator instead of using the generator directly -- and each call to the function returns a fresh sequence or generator.  My guess is that it&#039;s these uses that make you &quot;miss Haskell&quot; -- and lazy lists (either using promises or using the lazy scheme language that Robby pointed at) do that well.  But there are still cases where this is not a good idea -- for example, consider the `in-lines&#039; sequence which reads from a port -- there is no way to make that kind of a sequence restartable with the way mzscheme does ports.

(To get *that* to work, ports will need to be implemented in a way that you can grab them functionally -- and that leads to potential memory problems where simple mistakes like closing over a newly open port lead to the whole file staying in memory, and it&#039;s also a partial solution since a full one requires doing similar things with random numbers or the other 2000 side-effect pieces in plt.)</description>
		<content:encoded><![CDATA[<p>What Robby meant in the his comment on the other post applies here too.  Iteration sequences and generators are both &#8220;destroying themselves&#8221; because they use state.  In some cases it&#8217;s possible to have a sequence or a generator that is safe to restart &#8212; like walking down a list.  If this is the case, then you can simply use a function that returns a generator instead of using the generator directly &#8212; and each call to the function returns a fresh sequence or generator.  My guess is that it&#8217;s these uses that make you &#8220;miss Haskell&#8221; &#8212; and lazy lists (either using promises or using the lazy scheme language that Robby pointed at) do that well.  But there are still cases where this is not a good idea &#8212; for example, consider the `in-lines&#8217; sequence which reads from a port &#8212; there is no way to make that kind of a sequence restartable with the way mzscheme does ports.</p>
<p>(To get *that* to work, ports will need to be implemented in a way that you can grab them functionally &#8212; and that leads to potential memory problems where simple mistakes like closing over a newly open port lead to the whole file staying in memory, and it&#8217;s also a partial solution since a full one requires doing similar things with random numbers or the other 2000 side-effect pieces in plt.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Inelegant Combobulation by shrughes</title>
		<link>http://shrughes.com/p/inelegant-combobulation/comment-page-1/#comment-22</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Thu, 01 Apr 2010 18:06:46 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=360#comment-22</guid>
		<description>It will work in a mzscheme shell running inside a *shell* buffer inside emacs.</description>
		<content:encoded><![CDATA[<p>It will work in a mzscheme shell running inside a *shell* buffer inside emacs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on forzan&#8217;s razor by shrughes</title>
		<link>http://shrughes.com/p/forzans-razor/comment-page-1/#comment-21</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Thu, 01 Apr 2010 18:05:24 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=269#comment-21</guid>
		<description>It&#039;s not a fallacy, it&#039;s a way of life.</description>
		<content:encoded><![CDATA[<p>It&#8217;s not a fallacy, it&#8217;s a way of life.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on forzan&#8217;s razor by forzan</title>
		<link>http://shrughes.com/p/forzans-razor/comment-page-1/#comment-20</link>
		<dc:creator>forzan</dc:creator>
		<pubDate>Thu, 01 Apr 2010 13:34:28 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=269#comment-20</guid>
		<description>I require you to fully explain why this should be regarded as a fallacy. Also, you are mixing truth and opinion.</description>
		<content:encoded><![CDATA[<p>I require you to fully explain why this should be regarded as a fallacy. Also, you are mixing truth and opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Inelegant Combobulation by Zombywuf</title>
		<link>http://shrughes.com/p/inelegant-combobulation/comment-page-1/#comment-19</link>
		<dc:creator>Zombywuf</dc:creator>
		<pubDate>Thu, 01 Apr 2010 08:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=360#comment-19</guid>
		<description>Will it work in emacs?</description>
		<content:encoded><![CDATA[<p>Will it work in emacs?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PLT Scheme sequences are annoying by shrughes</title>
		<link>http://shrughes.com/p/plt-scheme-sequences-are-annoying/comment-page-1/#comment-18</link>
		<dc:creator>shrughes</dc:creator>
		<pubDate>Wed, 31 Mar 2010 02:57:03 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=353#comment-18</guid>
		<description>Not for what kind of thing?</description>
		<content:encoded><![CDATA[<p>Not for what kind of thing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PLT Scheme sequences are annoying by Robby Findler</title>
		<link>http://shrughes.com/p/plt-scheme-sequences-are-annoying/comment-page-1/#comment-17</link>
		<dc:creator>Robby Findler</dc:creator>
		<pubDate>Tue, 30 Mar 2010 23:16:14 +0000</pubDate>
		<guid isPermaLink="false">http://shrughes.com/?p=353#comment-17</guid>
		<description>Sequences are not for that kind of thing. Try putting drscheme into the module language and try running this program:

#lang lazy
(define fibs (cons 1 (cons 1 (map + (cdr fibs) fibs))))</description>
		<content:encoded><![CDATA[<p>Sequences are not for that kind of thing. Try putting drscheme into the module language and try running this program:</p>
<p>#lang lazy<br />
(define fibs (cons 1 (cons 1 (map + (cdr fibs) fibs))))</p>
]]></content:encoded>
	</item>
</channel>
</rss>
