<?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>Adztec Independent - Blog &#187; compiler</title>
	<atom:link href="http://www.adztec-independent.de/tag/compiler/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adztec-independent.de</link>
	<description>Programming Ruby / JRuby / Rails / Common Lisp by Christopher Bertels</description>
	<lastBuildDate>Sun, 21 Mar 2010 23:27:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New Project: The Fancy Programming Language</title>
		<link>http://www.adztec-independent.de/2010/03/new-project-the-fancy-programming-language/</link>
		<comments>http://www.adztec-independent.de/2010/03/new-project-the-fancy-programming-language/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 21:37:22 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[fancy]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hobbies]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[meta-programming]]></category>
		<category><![CDATA[parallel programming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.adztec-independent.de/?p=278</guid>
		<description><![CDATA[Ok, I know I&#8217;m not a frequent poster. I guess, that&#8217;s just the way it is. Anyways..
I&#8217;ve been up to a lot of stuff in the past few months. Related to programming there are two projects, one of them I&#8217;m still working on (and intend to do so for the forseeable future):

generica, a small, simple [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I know I&#8217;m not a frequent poster. I guess, that&#8217;s just the way it is. Anyways..</p>
<p>I&#8217;ve been up to a lot of stuff in the past few months. Related to programming there are two projects, one of them I&#8217;m still working on (and intend to do so for the forseeable future):</p>
<ul>
<li><a href="http://github.com/bakkdoor/generica">generica</a>, a small, simple &amp; dirty lisp-like language interpreter implemented in ANSI C.</li>
<li>and <a href="http://github.com/bakkdoor/fancy/">Fancy</a>, a new object-oriented dynamic programming language, heavily inspired by Ruby, Smalltalk and Erlang. There&#8217;s also a website up, but far from finished: <a href="http://fancy-lang.org">fancy-lang.org</a> &#8211; Check it out if you like <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>So yeah, the latter project I started about 6 weeks ago but didn&#8217;t have the time to really work on it until about 3 weeks ago. Since then I&#8217;ve managed to implement quite a few features.<br />
Here&#8217;s a small overview of features working in Fancy already:</p>
<ul>
<li>Class definitions</li>
<li>Method definitions</li>
<li>String, Integer, Double, Array, Hash (Hashmap), and Block (lambda function / closure) Literals</li>
<li>Method and operator calls (<em>sending messages to objects</em>)</li>
<li>Simple loops</li>
<li>Support for closures (performance improvements are definately possible though <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</li>
</ul>
<p>There&#8217;s still lots of stuff missing, obviously. Mainly most of the standard library (I/O, Threading/Concurrency, Networking, etc&#8230;) will have to implemented as well as some runtime features I haven&#8217;t finished or started yet. But it&#8217;s getting along quite nicely. If anyone dares to try it out, I&#8217;d love to hear some feedback, especially hearing some opinions on the overall feel and semantics of the language would be nice. You can get the code on github (see the link above) and try to build it. Compiling instructions are in the README file. Fancy is licensed under the GNU LGPL.</p>
<p>I&#8217;m still excited to see where this is gonna go, for myself and possibly others as well. We&#8217;ll see.</p>
<p>I&#8217;ll probably post some more information on the language and its implementation some time soon. Need to go now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adztec-independent.de/2010/03/new-project-the-fancy-programming-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screencast: Debugging with Emacs &amp; GDB</title>
		<link>http://www.adztec-independent.de/2009/11/screencast-debugging-with-emacs-gdb/</link>
		<comments>http://www.adztec-independent.de/2009/11/screencast-debugging-with-emacs-gdb/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:29:18 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hobbies]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[stupidvm]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.adztec-independent.de/?p=265</guid>
		<description><![CDATA[Hey there.
I wish I&#8217;d be posting more recently, but haven&#8217;t really had the time to do so.
I just wanted to share with you a small screencast I created today on debugging with emacs and gdb, since I think it might be of interest to someone else as well.
You can check out the video at my [...]]]></description>
			<content:encoded><![CDATA[<p>Hey there.<br />
I wish I&#8217;d be posting more recently, but haven&#8217;t really had the time to do so.<br />
I just wanted to share with you a small screencast I created today on debugging with emacs and gdb, since I think it might be of interest to someone else as well.</p>
<p>You can check out the video at my blip.tv channel: <a href="http://bakkdoor.blip.tv/" target="_blank">http://bakkdoor.blip.tv/ </a><br />
Currently the video is being converted to flash video (.flv), so you might want to check out the .ogv video file here, if it&#8217;s not done yet: <a href="http://blip.tv/file/2804484" target="_blank">http://blip.tv/file/2804484</a></p>
<p><strong>[Update:]</strong><br />
Video is available now. You can also watch it here:<br />
<embed src="http://blip.tv/play/g7R2gayxfAA" type="application/x-shockwave-flash" width="525" height="402" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p>Anyhow, I hope you like it and I&#8217;d like to hear some feedback.</p>
<p>Btw, the programm I&#8217;m debugging in the video is <strong>stupidvm</strong>, a small &#038; stupid virtual machine I&#8217;ve started working on 2 weeks ago, written in C.<br />
You can check out the code either on <a href="http://gitorious.org/stupidvm/stupidvm/" target="_blank">gitorious</a> or <a href="http://github.com/bakkdoor/stupidvm/" target="_blank">github</a>.</p>
<p>Feedback is, as always, welcome <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I hope you like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adztec-independent.de/2009/11/screencast-debugging-with-emacs-gdb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Blocktalk: Dealing with classes &amp; modules</title>
		<link>http://www.adztec-independent.de/2009/06/blocktalk-dealing-with-classes-modules/</link>
		<comments>http://www.adztec-independent.de/2009/06/blocktalk-dealing-with-classes-modules/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 02:45:47 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[blocktalk]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[meta-programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.adztec-independent.de/?p=232</guid>
		<description><![CDATA[Alright. I&#8217;ve renamed my language again: Blocktalk is what I&#8217;ve settled on (finally I hope).
I think it resembles a little more the Smalltalk heritage, although most implementation related concepts come from Ruby though. Oh well, I like the name better, so that&#8217;s why i chose to name it that way.
Current progress:
Class &#038; module definitions work [...]]]></description>
			<content:encoded><![CDATA[<p>Alright. I&#8217;ve renamed my language again: <b>Blocktalk</b> is what I&#8217;ve settled on (finally I hope).<br />
I think it resembles a little more the Smalltalk heritage, although most implementation related concepts come from Ruby though. Oh well, I like the name better, so that&#8217;s why i chose to name it that way.</p>
<p><b>Current progress:</b><br />
Class &#038; module definitions work correctly now, meaning that it now fully supports nearly all concepts that you find in Ruby. The main difference is, that in contrast to Ruby, Blocktalk does not have any real Keywords predefined, except for just a few including:</p>
<ul>
<li><b>def</b> (for indicating method definitions)</li>
<li><b>do</b> &#038; <b>end</b> (for codeblocks)</li>
<li><b>self</b> (the same as in Ruby &#038; Smalltalk: reference to the current object)</li>
<li><b>return</b> (explicitly returning from withing the middle of a method)</li>
<li><b>yield</b> (same as in ruby: yielding to a given implicit block)</li>
<li>Some <b>literal syntax</b> (not real Keywords, but somehow belongs into this category) for <b>Arrays, Hashes, Codeblocks, Integers, Floats, Strings, Symbols, Characters</b> and of course <b>Assignment</b></li>
</ul>
<p>That&#8217;s pretty much it, regarding predefined keywords in the language itself. Everything else relies on expressions like message passing (a.k.a. method calling) to objects, assignments and arithmetic. Even defining new modules or classes is done by sending a message to the Class or Module class-object (very similar to how it&#8217;s done in Smalltalk and how you can also do it in Ruby).</p>
<p>Here&#8217;s a small example of defining a class and a module:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.adztec-independent.de/wp-content/plugins/wp-codebox/wp-codebox.php?p=232&amp;download=class-example.bt">class-example.bt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p2322"><td class="code" id="p232code2"><pre class="smalltalk" style="font-family:monospace;"><span style="color: #0000ff;">Module</span> &gt;&gt; :<span style="color: #0000ff;">ModuleA</span> do
  def method_a <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span>
    <span style="color: #0000ff;">Console</span> puts: <span style="color: #007f00; font-style: italic;">&quot;in ModuleA#method_a!&quot;</span>
  end
end
&nbsp;
&nbsp;
<span style="color: #0000ff;">Module</span> &gt;&gt; :<span style="color: #0000ff;">ModuleB</span> do
  def method_b <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span>
    <span style="color: #0000ff;">Console</span> puts: <span style="color: #007f00; font-style: italic;">&quot;in ModuleB#method_b!&quot;</span>
  end
end
&nbsp;
<span style="color: #0000ff;">Class</span> &gt;&gt; :<span style="color: #0000ff;">Place</span> do
  def <span/<span style="color: #00007f;">1</span>/><span style="color: #7f007f;">self</span></span> from_city <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span> |<span style="color: #00007f;">city_name</span>|
    <span style="color: #000066; font-weight:bold;">#</span> should do something useful here ...
    <span style="color: #0000ff;">Place</span> new
  end
&nbsp;
  def coordinates <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span>
    <span style="color: #000066; font-weight:bold;">#</span> do some calculation here...
    <span style="color: #00007f;">return</span> <span style="">&#40;</span><span style="color: #0000ff;">Kernel</span> rand<span style="">&#41;</span>
  end
end
&nbsp;
<span style="color: #0000ff;">Class</span> &gt;&gt; :<span style="color: #0000ff;">Person</span> do
  <span/<span style="color: #00007f;">1</span>/><span style="color: #7f007f;">self</span></span> mixin: <span style="">&#91;</span><span style="color: #0000ff;">ModuleA</span>, <span style="color: #0000ff;">ModuleB</span><span style="">&#93;</span>
&nbsp;
  <span style="color: #000066; font-weight:bold;">#</span> constructor with named params
  def initialize <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span> |name age: <span style="color: #00007f;">age</span> city: <span style="color: #00007f;">city</span>|
    @name <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">name</span>
    @age <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">age</span>
    @city <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">city</span>
  end
&nbsp;
  def go_to <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span> |place with: <span style="color: #00007f;">vehicle</span>|
    <span style="">&#40;</span><span style="">&#40;</span><span style="color: #00007f;">place</span> is_a?: <span style="color: #0000ff;">Place</span><span style="">&#41;</span> and: <span style="">&#40;</span><span style="">&#40;</span><span/<span style="color: #00007f;">1</span>/><span style="color: #7f007f;">self</span></span> distance_to: <span style="color: #00007f;">place</span><span style="">&#41;</span> &lt; 10.<span style="color: #00007f;">5</span><span style="">&#41;</span><span style="">&#41;</span> if_<span style="color: #7f007f;">true</span> <span style="">&#123;</span>
      vehicle take: <span/<span style="color: #00007f;">1</span>/><span style="color: #7f007f;">self</span></span> to: <span style="color: #00007f;">place</span>
    <span style="">&#125;</span>
  end
&nbsp;
  def place <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span>
    <span style="color: #0000ff;">Place</span> from_city: @city
  end
&nbsp;
  def distance_to <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #00007f;">do</span> |<span style="color: #00007f;">place</span>|
    <span style="">&#40;</span><span style="color: #00007f;">place</span> is_a?: <span style="color: #0000ff;">Place</span><span style="">&#41;</span> if_<span style="color: #7f007f;">true</span>: <span style="">&#123;</span>
      dist <span style="color: #000066; font-weight:bold;">=</span> <span style="">&#40;</span><span style="">&#40;</span><span/<span style="color: #00007f;">1</span>/><span style="color: #7f007f;">self</span></span> place<span style="">&#41;</span> coordinates<span style="">&#41;</span> - <span style="">&#40;</span><span style="color: #00007f;">place</span> coordinates<span style="">&#41;</span>
      dist abs
    <span style="">&#125;</span> if_<span style="color: #7f007f;">false</span>: <span style="">&#123;</span>
      0.<span style="color: #00007f;">0</span>
    <span style="">&#125;</span>
  end
end
&nbsp;
chris <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #0000ff;">Person</span> new: <span style="color: #007f00; font-style: italic;">&quot;Christopher Bertels&quot;</span> age: <span style="color: #00007f;">22</span> city: <span style="color: #007f00; font-style: italic;">&quot;Osnabrück&quot;</span>
city <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #0000ff;">Place</span> from_city: <span style="color: #007f00; font-style: italic;">&quot;Berlin&quot;</span>
&nbsp;
<span style="color: #0000ff;">Console</span> puts: <span style="color: #007f00; font-style: italic;">&quot;Distance from chris to city:&quot;</span>
<span style="color: #0000ff;">Console</span> puts: <span style="">&#40;</span><span style="color: #00007f;">chris</span> distance_to: <span style="color: #00007f;">city</span><span style="">&#41;</span>
&nbsp;
<span style="color: #000066; font-weight:bold;">#</span> <span style="color: #0000ff;">Person</span> mixed in <span style="color: #0000ff;">ModuleA</span> &amp; <span style="color: #0000ff;">ModuleB</span>:
<span style="color: #00007f;">chris</span> method_a
chris method_b</pre></td></tr></table></div>

<p>I&#8217;m still tweaking a little here and there, but I think most of the standard language features are working now. Now I&#8217;ll try to come up with some more unique things. I do have a few ideas already, but I still need to see, if they really work out nice. Let&#8217;s see <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.adztec-independent.de/2009/06/blocktalk-dealing-with-classes-modules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why a self-hosted system is great</title>
		<link>http://www.adztec-independent.de/2009/05/why-a-self-hosted-system-is-great/</link>
		<comments>http://www.adztec-independent.de/2009/05/why-a-self-hosted-system-is-great/#comments</comments>
		<pubDate>Mon, 04 May 2009 00:38:17 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hobbies]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.adztec-independent.de/?p=149</guid>
		<description><![CDATA[I&#8217;ve been asked recently, why writing a Ruby compiler in Ruby would make any sense. The argument was, that by compiling Ruby code to native machine code, you&#8217;d lose all the benefits of a &#8217;scripting language&#8217;.
Now, you could argue, if you&#8217;d want to degrade Ruby simply to a scripting language &#8211; and I don&#8217;t think [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been asked recently, why writing a Ruby compiler in Ruby would make any sense. The argument was, that by compiling Ruby code to native machine code, you&#8217;d lose all the benefits of a &#8217;scripting language&#8217;.<br />
Now, you could argue, if you&#8217;d want to degrade Ruby simply to a scripting language &#8211; and I don&#8217;t think that Ruby is only that (whatever a &#8217;scripting language&#8217; may be&#8230;) &#8211; then you&#8217;d lose quite some flexibility (e.g. simply changing a file and run it again etc.).</p>
<p>But there&#8217;s a more important thing to consider here:<br />
All the implementations out there currently are (mostly) written in another language. JRuby in Java, IronRuby in C#, MRI (default Ruby intepreter) in C and even Rubinius is written to great part in C++.<br />
The reason is simple: Since you need some way to actually get your code running, you&#8217;ll need a host language to get the Ruby VM running on.</p>
<p>Now consider writing a native Ruby compiler in Ruby itself:<br />
Once you&#8217;re able to bootstrap the compiler (meaning, to be able to compile it with itself), you&#8217;ve got a natively compiled executable, written in Ruby, where you don&#8217;t need any runtime/VM for. You could actually write a Ruby Interpreter / VM completely in Ruby itself, since you could also compile it with the native compiler. Additionally, making changes and understanding the source code of all these parts would be much easier for a normal Ruby programmer than any other system, since it&#8217;s all written in the language it&#8217;s targeting.<br />
Now this would be awesome, wouldn&#8217;t it?<br />
Any Ruby programmer could actually work on the language platform with the language itself. I think this would just be really cool.</p>
<p>So once <a href="http://github.com/vidarh/writing-a-compiler-in-ruby/">the compiler</a> would work well enough to actually compile quite large programms, it shouldn&#8217;t be too hard to get a Ruby Interpreter written in Ruby. <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of course, writing a language implementation in the language it&#8217;s implementing isn&#8217;t something new. Most Lisp implementations have been written in Lisp, the same goes for C &amp; C++ compilers. In the case of Lisp, we have a dynamically typed language which gets compiled. And if you take a look at some performance benchmarks, you&#8217;ll see that there are Common Lisp implementations out there, that are really fast for a dynamic language (very well comparable to the speed of C!). This obviously takes some time, but it shows what can be possible. <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.adztec-independent.de/2009/05/why-a-self-hosted-system-is-great/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hacking Ruby again</title>
		<link>http://www.adztec-independent.de/2009/04/hacking-ruby-again/</link>
		<comments>http://www.adztec-independent.de/2009/04/hacking-ruby-again/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 12:17:51 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hobbies]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.adztec-independent.de/?p=144</guid>
		<description><![CDATA[I&#8217;ve been writing some Ruby again for a while.
If you ever wanted to know, how a compiler for a ruby-like language (written in ruby) might look, check out this series by Vidar Hokstad: Writing a compiler in Ruby
Fortunately, the code has been online at GitHub for a while now here: http://github.com/vidarh/writing-a-compiler-in-ruby
Since I&#8217;ve always been interested [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been writing some Ruby again for a while.<br />
If you ever wanted to know, how a compiler for a ruby-like language (written in ruby) might look, check out this series by Vidar Hokstad: <a href="http://www.hokstad.com/compiler">Writing a compiler in Ruby</a></p>
<p>Fortunately, the code has been online at GitHub for a while now here: <a href="http://github.com/vidarh/writing-a-compiler-in-ruby">http://github.com/vidarh/writing-a-compiler-in-ruby</a><br />
Since I&#8217;ve always been interested in language design and how compilers work, I <a href="http://github.com/bakkdoor/writing-a-compiler-in-ruby">forked</a> the project and started working on it as well. I&#8217;m still learning a lot, but the code is still small enough to actually understand it even if you haven&#8217;t done anything like that before. The blog posts by <a href="http://www.hokstad.com/blog">Vidar</a> especially help alot here, since a great deal of how the code actually works is explained there.<br />
More and more this is turning into a compiler for the Ruby language and I&#8217;m excited to see where this is going <img src='http://www.adztec-independent.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.adztec-independent.de/2009/04/hacking-ruby-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
