<?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: Recursion in F# and the Tail Recursion Police</title>
	<atom:link href="http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/feed/" rel="self" type="application/rss+xml" />
	<link>http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 13 Jan 2010 16:31:08 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: valerio.net &#187; Blog Archive &#187; Hunting the Elusive &#8216;tail&#8217; Opcode in F#</title>
		<link>http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/comment-page-1/#comment-9843</link>
		<dc:creator>valerio.net &#187; Blog Archive &#187; Hunting the Elusive &#8216;tail&#8217; Opcode in F#</dc:creator>
		<pubDate>Thu, 18 Jun 2009 05:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/#comment-9843</guid>
		<description>[...] Recursion in F# and the Tail Recursion Police  [...]</description>
		<content:encoded><![CDATA[<p>[...] Recursion in F# and the Tail Recursion Police  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian McNamara</title>
		<link>http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/comment-page-1/#comment-5337</link>
		<dc:creator>Brian McNamara</dc:creator>
		<pubDate>Mon, 05 Jan 2009 18:58:38 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/#comment-5337</guid>
		<description>Regarding the .tail opcode, the F# compiler will turn directly recursive functions into loops, as you saw, but indirect recursion (e.g. where function &#039;f&#039; tailcalls &#039;g&#039; and function &#039;g&#039; tailcalls &#039;f&#039;) will use the .tail opcode, if you&#039;re curious to Reflector-find it.  In general all tail calls that may create recursion turn into .tail opcodes, except direct calls to the currently running function, which are instead translated into while loops.</description>
		<content:encoded><![CDATA[<p>Regarding the .tail opcode, the F# compiler will turn directly recursive functions into loops, as you saw, but indirect recursion (e.g. where function &#8216;f&#8217; tailcalls &#8216;g&#8217; and function &#8216;g&#8217; tailcalls &#8216;f&#8217;) will use the .tail opcode, if you&#8217;re curious to Reflector-find it.  In general all tail calls that may create recursion turn into .tail opcodes, except direct calls to the currently running function, which are instead translated into while loops.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
