<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1" -->
<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/"
	>

<channel>
	<title>patrick.lioi.net</title>
	<link>http://patrick.lioi.net</link>
	<description></description>
	<pubDate>Sun, 29 Jul 2007 20:04:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>
	<language>en</language>
			<item>
		<title>Adding Type Inference to Rook</title>
		<link>http://patrick.lioi.net/2007/07/29/adding-type-inference-to-rook/</link>
		<comments>http://patrick.lioi.net/2007/07/29/adding-type-inference-to-rook/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 20:01:00 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/07/29/adding-type-inference-to-rook/</guid>
		<description><![CDATA[Earlier posts on Rook showed that it was a dynamically typed language: the type of an object was not declared, and was not known until the last moment at runtime.  Typing mistakes on the part of the programmer would be discovered at runtime.  Although I like the brevity of dynamic languages like Python, [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/07/29/adding-type-inference-to-rook/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Formalities</title>
		<link>http://patrick.lioi.net/2007/03/19/formalities/</link>
		<comments>http://patrick.lioi.net/2007/03/19/formalities/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 04:38:56 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/03/19/formalities/</guid>
		<description><![CDATA[I&#8217;ve added a new article on the Formalities page.  It&#8217;s a rewrite of some things I wrote shortly after college.  It&#8217;s a tad long, don&#8217;t say I didn&#8217;t warn you.
]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/03/19/formalities/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spaghetti Stack Attack!</title>
		<link>http://patrick.lioi.net/2007/03/10/spaghetti-stack-attack/</link>
		<comments>http://patrick.lioi.net/2007/03/10/spaghetti-stack-attack/#comments</comments>
		<pubDate>Sun, 11 Mar 2007 04:25:03 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/03/10/spaghetti-stack-attack/</guid>
		<description><![CDATA[When I started writing Rook in January, I had a general idea of how things would work.  I&#8217;d start with a grammar, then I&#8217;d write a recursive descent parser to turn the input source code into an abstract syntax tree.  These steps aren&#8217;t trivial, but they&#8217;re also not as tough as they sound. [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/03/10/spaghetti-stack-attack/feed/</wfw:commentRss>
		</item>
		<item>
		<title>(Re)Introducing Rook</title>
		<link>http://patrick.lioi.net/2007/03/05/reintroducing-rook/</link>
		<comments>http://patrick.lioi.net/2007/03/05/reintroducing-rook/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 22:20:42 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/03/05/reintroducing-rook/</guid>
		<description><![CDATA[
For the past few weeks, I&#8217;ve been documenting my progress on the development of a new programming language.  It is mostly an experiment to see whether or not I could do it, rather than an attempt to actually gain widespread use.  Also, it&#8217;s giving me an opportunity to learn more about how functional [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/03/05/reintroducing-rook/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Turn it up to 11</title>
		<link>http://patrick.lioi.net/2007/02/26/turn-it-up-to-11/</link>
		<comments>http://patrick.lioi.net/2007/02/26/turn-it-up-to-11/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 00:17:36 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/26/turn-it-up-to-11/</guid>
		<description><![CDATA[I started running into a little trouble with my TestFixture classes.  The glaring example was with the TokenizerTest fixture, which tested every nook and cranny of the Tokenizer class.  The tokenizer is responsible for advancing through the input source code, chopping it up into meaningful tokens, such as operators, keywords, identifiers, and the [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/26/turn-it-up-to-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Grammar 4: Statements &#038; Function Calls</title>
		<link>http://patrick.lioi.net/2007/02/14/grammar-4-statements-function-calls/</link>
		<comments>http://patrick.lioi.net/2007/02/14/grammar-4-statements-function-calls/#comments</comments>
		<pubDate>Thu, 15 Feb 2007 02:31:18 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/14/grammar-4-statements-function-calls/</guid>
		<description><![CDATA[This is part of a series of articles that started with Test-Driving a Compiler.
Grammar 3 introduced function definitions.  Since then, I&#8217;ve introduced some unary operators, statements, and function call expressions.  First, I added the unary-minus and unary-not operators with a higher priority than multiplication, using tests to confirm the basic parsing routines as [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/14/grammar-4-statements-function-calls/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Big, Ugly, Naggingly Red 99s</title>
		<link>http://patrick.lioi.net/2007/02/11/big-ugly-naggingly-red-99s/</link>
		<comments>http://patrick.lioi.net/2007/02/11/big-ugly-naggingly-red-99s/#comments</comments>
		<pubDate>Sun, 11 Feb 2007 22:27:02 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/11/big-ugly-naggingly-red-99s/</guid>
		<description><![CDATA[I&#8217;ve been using C# Express Edition so far to write my parser, and I&#8217;ve been running NUnit as a separate process.  I haven&#8217;t been running NCover at all, so far.  I like the idea of integrating NUnit and NCover into the IDE, but Express Edition doesn&#8217;t allow for plugins (as far as I [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/11/big-ugly-naggingly-red-99s/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Grammar 3: Function Definitons</title>
		<link>http://patrick.lioi.net/2007/02/07/grammar-3-function-definitons/</link>
		<comments>http://patrick.lioi.net/2007/02/07/grammar-3-function-definitons/#comments</comments>
		<pubDate>Wed, 07 Feb 2007 23:26:50 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/07/grammar-3-function-definitons/</guid>
		<description><![CDATA[This is part of a series of articles that started with Test-Driving a Compiler.
Grammar 3 introduces functions, identifiers, and programs composed of multiple function definitions.  Here&#8217;s the grammar, with changes from Grammar 2 in bold:
Program := Function*
Function := identifier &#39;(&#39; ParameterList &#39;)&#39; Expression
ParameterList := &#38;&#39;)&#39;
          [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/07/grammar-3-function-definitons/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Grammar 2: Lost in New York</title>
		<link>http://patrick.lioi.net/2007/02/02/grammar-2-lost-in-new-york/</link>
		<comments>http://patrick.lioi.net/2007/02/02/grammar-2-lost-in-new-york/#comments</comments>
		<pubDate>Sat, 03 Feb 2007 02:17:44 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/02/grammar-2-lost-in-new-york/</guid>
		<description><![CDATA[This is part of a series of articles that started with Test-Driving a Compiler.
Some of the operators introduced in Grammar 1 have to do with boolean tests: ==, !=, &#60;, etc.  Further boolean support introduced in this article includes &#38;&#38; (and), &#124;&#124; (or), and if statements. Different languages deal with if statements in different [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/02/grammar-2-lost-in-new-york/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Grammar 1: Basic Operators</title>
		<link>http://patrick.lioi.net/2007/02/01/grammar-1-basic-operators/</link>
		<comments>http://patrick.lioi.net/2007/02/01/grammar-1-basic-operators/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 23:54:22 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<category><![CDATA[Language Design]]></category>

		<guid isPermaLink="false">http://patrick.lioi.net/2007/02/01/grammar-1-basic-operators/</guid>
		<description><![CDATA[This is part of a series of articles that started with Test-Driving a Compiler.
Grammar 0 was silly.  We went to the trouble of creating a tokenizer and a recursive descent parser for a language where the only valid programs were integer constants.  With that silliness out of the way, we can start doing [...]]]></description>
		<wfw:commentRss>http://patrick.lioi.net/2007/02/01/grammar-1-basic-operators/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
