<?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: Minor improvements</title>
	<atom:link href="http://tream.dreamhosters.com/lisp/compiler/minor-improvements.html/feed" rel="self" type="application/rss+xml" />
	<link>http://tream.dreamhosters.com/lisp/compiler/minor-improvements.html</link>
	<description>Just another blog about programming, Lisp and the like</description>
	<lastBuildDate>Mon, 22 Jun 2009 09:33:57 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Juan Jose Garcia Ripoll</title>
		<link>http://tream.dreamhosters.com/lisp/compiler/minor-improvements.html/comment-page-1#comment-32</link>
		<dc:creator>Juan Jose Garcia Ripoll</dc:creator>
		<pubDate>Mon, 22 Jun 2009 09:33:57 +0000</pubDate>
		<guid isPermaLink="false">http://tream.dreamhosters.com/?p=37#comment-32</guid>
		<description>When referring to &quot;child function&quot; I mean those created via FLET or LABELS. Those can not be redefined and the semantics of GO, TAGBODY, RETURN, etc, are well defined. In other words, if you find that no child function (ie no function in a FLET/LABELS) uses a label that is defined in the body of the main function, then you do not need to establish a global return point for GO statements and it all can be simplified to ordinary labels.</description>
		<content:encoded><![CDATA[<p>When referring to &#8220;child function&#8221; I mean those created via FLET or LABELS. Those can not be redefined and the semantics of GO, TAGBODY, RETURN, etc, are well defined. In other words, if you find that no child function (ie no function in a FLET/LABELS) uses a label that is defined in the body of the main function, then you do not need to establish a global return point for GO statements and it all can be simplified to ordinary labels.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Samium Gromoff</title>
		<link>http://tream.dreamhosters.com/lisp/compiler/minor-improvements.html/comment-page-1#comment-31</link>
		<dc:creator>Samium Gromoff</dc:creator>
		<pubDate>Sun, 21 Jun 2009 22:17:24 +0000</pubDate>
		<guid isPermaLink="false">http://tream.dreamhosters.com/?p=37#comment-31</guid>
		<description>&gt; I have fixed this and added three more passes. One of them
&gt; looks for calls to SETJMP and eliminates them if the jump point
&gt; that it creates has not been referenced by any RETURN or GO
&gt; statement. This will happen whenever a BLOCK or a TAGBODY is
&gt; not referenced from a child function.

Forgive me if I&#039;m missing something, but, what if the child function gets redefined -- does it mean that the user is expected to recompile all callers binding nonlocal control transfer destinations?</description>
		<content:encoded><![CDATA[<p>&gt; I have fixed this and added three more passes. One of them<br />
&gt; looks for calls to SETJMP and eliminates them if the jump point<br />
&gt; that it creates has not been referenced by any RETURN or GO<br />
&gt; statement. This will happen whenever a BLOCK or a TAGBODY is<br />
&gt; not referenced from a child function.</p>
<p>Forgive me if I&#8217;m missing something, but, what if the child function gets redefined &#8212; does it mean that the user is expected to recompile all callers binding nonlocal control transfer destinations?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
