<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Artisan Coder &#187; Lua</title>
	<atom:link href="http://www.artisancoder.com/tag/lua/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artisancoder.com</link>
	<description>Software development as a craft</description>
	<lastBuildDate>Thu, 09 Sep 2010 14:42:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Lua Programming Gems out!</title>
		<link>http://www.artisancoder.com/2008/12/lua-programming-gems-out/</link>
		<comments>http://www.artisancoder.com/2008/12/lua-programming-gems-out/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 22:08:22 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[gems]]></category>

		<guid isPermaLink="false">http://www.ventonegro.org/?p=71</guid>
		<description><![CDATA[Hot from the presses, the book is finally here. The table of contents, the front matter and the free chapter 2 are in the book homepage.]]></description>
			<content:encoded><![CDATA[<p>Hot from the presses, the book is finally here. The table of contents, the front matter and the free chapter 2 are in the <a href="http://www.lua.org/gems/" title="Lua Programming Gems">book homepage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisancoder.com/2008/12/lua-programming-gems-out/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Toy Scheme interpreter in Lua</title>
		<link>http://www.artisancoder.com/2008/06/toy-scheme-interpreter-in-lua/</link>
		<comments>http://www.artisancoder.com/2008/06/toy-scheme-interpreter-in-lua/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 22:20:37 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[scheme]]></category>

		<guid isPermaLink="false">http://www.ventonegro.org/?p=11</guid>
		<description><![CDATA[As part of my Lisp studies, I have implemented a toy Scheme interpreter in roughly 1000 lines of Lua. It is here. It supports tail-call optimisation, lexical scope for closures, and first-class continuations via call/cc. I have departed from the traditional approach of implementing a Scheme interpreter in Scheme itself because I wanted to avoid [...]]]></description>
			<content:encoded><![CDATA[<p>As part of my Lisp studies, I have implemented a toy Scheme interpreter in roughly 1000 lines of <a href="http://www.lua.org/" title="Lua">Lua</a>. It is <a href="http://www.artisancoder.com/files/" title="artisancoder.com files">here</a>. It supports <a href="http://en.wikipedia.org/wiki/Tail_recursion">tail-call optimisation</a>, lexical scope for closures, and first-class <a href="http://en.wikipedia.org/wiki/Continuation">continuations</a> via <tt>call/cc</tt>.</p>
<p>I have departed from the traditional approach of implementing a Scheme interpreter in Scheme itself because I wanted to avoid possible confusions between the defined language and the defining language. This has made a lot of the concepts clearer. The evaluator is written in <a href="http://en.wikipedia.org/wiki/Continuation_passing_style">continuation-passing style</a>, which is easily done in Lua because the latter has tail-call optimisations. This way it is easier to reify continuations to first-class values.</p>
<p>I have also added a few primitives to allow me to run some examples, as the factorial and fibonacci functions. More primitives can be easily added if desired.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisancoder.com/2008/06/toy-scheme-interpreter-in-lua/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
