<?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: Deriving a Virtual Machine</title>
	<atom:link href="http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/</link>
	<description>Research Blog of 穆信成 Shin-Cheng Mu</description>
	<pubDate>Mon, 01 Dec 2008 21:32:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Dave</title>
		<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/#comment-1571</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Sun, 30 Mar 2008 20:53:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.iis.sinica.edu.tw/~scm/?p=42#comment-1571</guid>
		<description>After a quick skim of the Igarashi paper, I think the difference is they produce linear Compt terms -- and it's this linearization of the initial tree-structured term that prevents eval from trivializing to the identity.</description>
		<content:encoded><![CDATA[<p>After a quick skim of the Igarashi paper, I think the difference is they produce linear Compt terms &#8212; and it&#8217;s this linearization of the initial tree-structured term that prevents eval from trivializing to the identity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MigMit</title>
		<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/#comment-507</link>
		<dc:creator>MigMit</dc:creator>
		<pubDate>Tue, 25 Dec 2007 11:12:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.iis.sinica.edu.tw/~scm/?p=42#comment-507</guid>
		<description>Correction: "that's all it does"</description>
		<content:encoded><![CDATA[<p>Correction: &#8220;that&#8217;s all it does&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MigMit</title>
		<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/#comment-505</link>
		<dc:creator>MigMit</dc:creator>
		<pubDate>Tue, 25 Dec 2007 09:52:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.iis.sinica.edu.tw/~scm/?p=42#comment-505</guid>
		<description>Sorry, but... I don't see the point. Let's look at our data types:

data Exp = Val Int &#124; Var Int &#124; Plus Exp Exp &#124; Lam Exp &#124; App Exp Exp
data Compt = Lit Int &#124; Access Int &#124; Push1 Compt Compt &#124; Close Compt &#124; Push2 Compt Compt

Isn't that exactly the same thing (up to renaming of constructors)? Moreover, if we identify this two types, then eval seems to be an identity - OK, it forces almost everything, but that's all id does. I don't see, why you call id a "compiler".</description>
		<content:encoded><![CDATA[<p>Sorry, but&#8230; I don&#8217;t see the point. Let&#8217;s look at our data types:</p>
<p>data Exp = Val Int | Var Int | Plus Exp Exp | Lam Exp | App Exp Exp<br />
data Compt = Lit Int | Access Int | Push1 Compt Compt | Close Compt | Push2 Compt Compt</p>
<p>Isn&#8217;t that exactly the same thing (up to renaming of constructors)? Moreover, if we identify this two types, then eval seems to be an identity - OK, it forces almost everything, but that&#8217;s all id does. I don&#8217;t see, why you call id a &#8220;compiler&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shin</title>
		<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/#comment-302</link>
		<dc:creator>Shin</dc:creator>
		<pubDate>Tue, 27 Nov 2007 02:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.iis.sinica.edu.tw/~scm/?p=42#comment-302</guid>
		<description>Christophe, thanks for the comments. It was indeed a fun exercise.

And I've corrected the typo. :)</description>
		<content:encoded><![CDATA[<p>Christophe, thanks for the comments. It was indeed a fun exercise.</p>
<p>And I&#8217;ve corrected the typo. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christophe Poucet</title>
		<link>http://www.iis.sinica.edu.tw/~scm/2007/deriving-a-virtual-machine/#comment-301</link>
		<dc:creator>Christophe Poucet</dc:creator>
		<pubDate>Mon, 26 Nov 2007 12:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.iis.sinica.edu.tw/~scm/?p=42#comment-301</guid>
		<description>Interesting article :)  I have found it very informational to have a better understanding how these different techniques work.  It's usually easy to roll an interpreter but going from there to a compiled system is not always evident and your article illustrates the different steps in a crystal-clear fashion.

Thanks!

P.S: I do think you have a small typo the first time you write the following:
appK (Cont1 e2 env k) (Num i) =
    eval e2 env (Cont i k)

should be

appK (Cont1 e2 env k) (Num i) =
    eval e2 env (Cont2 i k)</description>
		<content:encoded><![CDATA[<p>Interesting article :)  I have found it very informational to have a better understanding how these different techniques work.  It&#8217;s usually easy to roll an interpreter but going from there to a compiled system is not always evident and your article illustrates the different steps in a crystal-clear fashion.</p>
<p>Thanks!</p>
<p>P.S: I do think you have a small typo the first time you write the following:<br />
appK (Cont1 e2 env k) (Num i) =<br />
    eval e2 env (Cont i k)</p>
<p>should be</p>
<p>appK (Cont1 e2 env k) (Num i) =<br />
    eval e2 env (Cont2 i k)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
