<?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: How to Rewrite Standard Recursion through a State Stack &#038; Iteration</title>
	<atom:link href="http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/</link>
	<description>Understanding the Software as a Service Revolution</description>
	<pubDate>Sat, 13 Mar 2010 19:01:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: dennis</title>
		<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/#comment-6</link>
		<dc:creator>dennis</dc:creator>
		<pubDate>Thu, 28 Sep 2006 16:03:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.saasblogs.com/?p=38#comment-6</guid>
		<description>If you want to use recursion AND have fun writing distributed apps, there's always Erlang...</description>
		<content:encoded><![CDATA[<p>If you want to use recursion AND have fun writing distributed apps, there&#8217;s always Erlang&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: psi-</title>
		<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/#comment-5</link>
		<dc:creator>psi-</dc:creator>
		<pubDate>Thu, 28 Sep 2006 16:02:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.saasblogs.com/?p=38#comment-5</guid>
		<description>even recursive version is never that easy. For example, wonder what happens if you do Factorial(-1). You and I know how to make an elegant check for that, but people in general don't.</description>
		<content:encoded><![CDATA[<p>even recursive version is never that easy. For example, wonder what happens if you do Factorial(-1). You and I know how to make an elegant check for that, but people in general don&#8217;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reg Braithwaite</title>
		<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/#comment-4</link>
		<dc:creator>Reg Braithwaite</dc:creator>
		<pubDate>Thu, 28 Sep 2006 16:01:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.saasblogs.com/?p=38#comment-4</guid>
		<description>My suggestion, (perhaps this is a future article), is that if you are going to rewrite a recursive function iteratively, rewrite it in tail recursive form so that you can execute the iterative algorithm in constant space:

&lt;a href="http://weblog.raganwald.com/2006/09/scientists-announce-empirical-evidence.html" rel="nofollow" rel="nofollow"&gt;http://weblog.raganwald.com/2006/09/scientists-announce-empirical-evidence.html&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>My suggestion, (perhaps this is a future article), is that if you are going to rewrite a recursive function iteratively, rewrite it in tail recursive form so that you can execute the iterative algorithm in constant space:</p>
<p><a href="http://weblog.raganwald.com/2006/09/scientists-announce-empirical-evidence.html" rel="nofollow" rel="nofollow">http://weblog.raganwald.com/2006/09/scientists-announce-empirical-evidence.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sinclair Schuller</title>
		<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/#comment-3</link>
		<dc:creator>Sinclair Schuller</dc:creator>
		<pubDate>Thu, 28 Sep 2006 15:59:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.saasblogs.com/?p=38#comment-3</guid>
		<description>Absolutely, and I'm glad you pointed that out. I think the legibility is what makes it difficult for people to grasp, since recursion is not intuitive to begin with, and obfuscating it makes it worse. I'm quite familiar with Scheme; like with many people familiar with it, I think it helps people understand recursion. Unfortunately, others don't "play well" with Scheme and makes it writing things like distributed apps not so fun:-(</description>
		<content:encoded><![CDATA[<p>Absolutely, and I&#8217;m glad you pointed that out. I think the legibility is what makes it difficult for people to grasp, since recursion is not intuitive to begin with, and obfuscating it makes it worse. I&#8217;m quite familiar with Scheme; like with many people familiar with it, I think it helps people understand recursion. Unfortunately, others don&#8217;t &#8220;play well&#8221; with Scheme and makes it writing things like distributed apps not so fun:-(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bram Geron</title>
		<link>http://www.saasblogs.com/2006/09/15/how-to-rewrite-standard-recursion-through-a-state-stack-amp-iteration/#comment-2</link>
		<dc:creator>Bram Geron</dc:creator>
		<pubDate>Thu, 28 Sep 2006 15:57:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.saasblogs.com/?p=38#comment-2</guid>
		<description>A drawback is unfortunately that it's not as legible as the recursive function. That's why I like Lisp so much: the compiler and interpreter are required to do this kind of conversion for you. Even better: in Scheme (a dialect of Lisp) looping is only implemented in libraries, and with tail-call it works just as efficiently as native looping. :-)

(If only it wouldn't spoil me so much..)</description>
		<content:encoded><![CDATA[<p>A drawback is unfortunately that it&#8217;s not as legible as the recursive function. That&#8217;s why I like Lisp so much: the compiler and interpreter are required to do this kind of conversion for you. Even better: in Scheme (a dialect of Lisp) looping is only implemented in libraries, and with tail-call it works just as efficiently as native looping. :-)</p>
<p>(If only it wouldn&#8217;t spoil me so much..)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
