<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>bangmoney.org - mitchell</title>
    <link>http://www.bangmoney.org/serendipity/</link>
    <description>Stop Making Sense</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2 - http://www.s9y.org/</generator>
    <pubDate>Fri, 08 Sep 2006 04:53:59 GMT</pubDate>

    <image>
        <url>http://www.bangmoney.org/serendipity/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: bangmoney.org - mitchell - Stop Making Sense</title>
        <link>http://www.bangmoney.org/serendipity/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>mitchell - still under development</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/30-mitchell-still-under-development.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/30-mitchell-still-under-development.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    There haven&#039;t been any &lt;a href=&quot;/projects/mitchell&quot;&gt;mitchell&lt;/a&gt; updates in a long time.  I blame myself for that, but let me explain what&#039;s going on.  First, life has been keeping me busy lately.  I&#039;ve been travelling and having visitors a lot, going up to &lt;a href=&quot;http://hikethewhites.com/&quot;&gt;the mountains&lt;/a&gt; to hike as many weekends as possible, and working like crazy at &lt;a href=&quot;http://www.redhat.com&quot;&gt;my job&lt;/a&gt;. So that really cuts down on the amount of time I can spend working on my own personal programming projects.&lt;br /&gt;
&lt;br /&gt;
However, I have been working on it quite a bit recently though you won&#039;t see any of the results for a while.  As I was working on yet another abstract syntax tree manipulation, I decided that doing all this in C sucks and that what I really wanted to do was start rewriting it in &lt;a href=&quot;http://www.smlnj.org&quot;&gt;Standard ML/NJ&lt;/a&gt;.  I&#039;ve worked a little with that language in college and it was a lot of fun, so I figured it&#039;d be a good implementation language.  So far in this rewrite, I&#039;ve gotten up through the parser and will be tackling the type checker very soon.&lt;br /&gt;
&lt;br /&gt;
Doing a rewrite means I&#039;ve been able to look back and make changes to the language.  I added implicit return types for functions, &lt;a href=&quot;http://en.wikipedia.org/wiki/Tagged_union&quot;&gt;tag discriminated unions&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Type_polymorphism&quot;&gt;parametric explicitly polymorphic types&lt;/a&gt;, empty list literals, simplified some parts of the grammar, and reworked function call/declaration syntax.  All this stuff has slowed down progress a bit and will seriously impact the speed of getting type checking done.  However, I&#039;m having way more fun now so it&#039;s totally worth it.&lt;br /&gt;
&lt;br /&gt;
That&#039;s enough nerdery for now.  I have entries to write up about my observations when watching &lt;i&gt;Aliens&lt;/i&gt; tonight and from the wedding I went to last weekend, but those will have to wait for another day. 
    </content:encoded>

    <pubDate>Fri, 08 Sep 2006 00:53:59 -0400</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Mitchell Preview 5 Released</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/29-Mitchell-Preview-5-Released.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/29-Mitchell-Preview-5-Released.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=29</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    Once again, this is the first preview release of the mitchell compiler and programming language for quite some time.  It&#039;s been just about a year without any updates, but this one is finally ready.  The two big reasons for this were life and the complexity of what was involved with this preview.  On the life side, my new job has been keeping me very busy and not too interested in programming in my free time as well.  On the complexity side, this release includes support for exceptions and performs a series of abstract syntax tree conversions to simplify the structure.  This includes several things I&#039;ve never written before including lambda lifting.&lt;br /&gt;
&lt;br /&gt;
This may not be the highest quality release, but I felt like if I didn&#039;t just get something out there, it might be a very very long time before anything at all gets released.  So enjoy and hopefully the next preview will take much less time to finish up.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;/projects/mitchell&quot;&gt;The Mitchell language and compiler home page&lt;/a&gt; has more information and documentation.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 11 Jan 2006 00:00:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/29-guid.html</guid>
    
</item>
<item>
    <title>Finally making some AST progress</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/11-Finally-making-some-AST-progress.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/11-Finally-making-some-AST-progress.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=11</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    I&#039;ve been stuck on &lt;a href=&quot;http://www.bangmoney.org/projects/mitchell&quot;&gt;mitchell (my compiler project)&lt;/a&gt; for several months now.  In particular, I&#039;ve been working on abstract syntax tree simplification in preparation for translation to IR but it&#039;s been really hard and not interesting enough to get motivated to work on.  But it looks like the several hours I put into it tonight might actually get me moving again.&lt;br /&gt;
&lt;br /&gt;
The first thing I did was work on free value analysis.  I need to do this so I can convert nested functions into closures and then lift them up to module-level scope.  Free values are all the ones referenced in a function but are defined outside of its scope.  Free value analysis finds all the free values and binds them in the function&#039;s scope by appending them to the list of function parameters.  I&#039;d essentially been stuck trying to get the information I needed to determine whether or not an identifier needed to be checked for freeness.  I was finally struck by the realization that I can just decorate the identifier AST nodes to tell me their purpose and got moving on that.&lt;br /&gt;
&lt;br /&gt;
This led me to the problem that function arguments are in a scope outside the decl-expr making up the body of the function, so using the function arguments always results in unbound value references.  Luckily I was able to think it out and remember that I&#039;d guaranteed function bodies are always decl-exprs.  I can use that fact to merge their symbol table references together in the AST nodes.&lt;br /&gt;
&lt;br /&gt;
Wham, making good progress on free value analysis.  I need to come up with a plan of attack for testing this stuff, though.  I feel like my quality control has slipped ever since I got into AST creation because my test suite isn&#039;t designed to handle it.  Lots of work to do here. Finally, I started working on something I&#039;d been thinking about for a while now - a generic framework for AST traversals.  All my simplification passes duplicate 85% of the tree walking functions and then have their own handful of custom versions for the remainder.  I spent a couple hours cranking out a generic system involving lots of function pointers and ripping out tons of old code.  It&#039;s also given me a chance to go back and correct some of my horrible ideas - like the mess that is decl-expr simplification.&lt;br /&gt;
&lt;br /&gt;
Exciting times on the mitchell front again.  Hopefully I can get lambda lifting done soon, be done with AST simplification, and get another test release out there.  I might get a little sidetracked developing an AST test suite though to help me feel better about the state of that (rather complex) body of code. 
    </content:encoded>

    <pubDate>Thu, 30 Jun 2005 00:21:00 -0400</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/11-guid.html</guid>
    
</item>
<item>
    <title>Mitchell Preview 4 Released</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/27-Mitchell-Preview-4-Released.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/27-Mitchell-Preview-4-Released.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    Hot on the heels of preview 3 is the second release this month - preview 4.  This release of the mitchell compiler and programming language adds no significant new functionality.  It is merely a bug fix and minor feature release.  Some of the new features include improved error reporting, new command line options, escape sequences in  strings, and detecting infinite loops of type declarations.  Unfortunately, the next release will probably be a long time in coming as it will involve a major new phase.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;/projects/mitchell&quot;&gt;The Mitchell language and compiler home page&lt;/a&gt; has more information and documentation.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 21 Jan 2005 00:00:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/27-guid.html</guid>
    
</item>
<item>
    <title>Mitchell Preview 3 Released</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/26-Mitchell-Preview-3-Released.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/26-Mitchell-Preview-3-Released.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=26</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    This is the first preview release of the mitchell compiler and programming language for several months.  It looks like I haven&#039;t been busy from the lack of updates, but I have been putting in a lot of work adding a type checker and semantic analysis phase to the compiler.  This is one of my least favorite parts of compilation so it took a bit longer, but it&#039;s mostly done.  There was a preview 2 tarball but for some reason, I never announced it.  At last, the long drought is over.  Expect a preview 4 with bug fixes and minor improvements fairly quickly.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;/projects/mitchell&quot;&gt;The Mitchell language and compiler home page&lt;/a&gt; has more information and documentation.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 07 Jan 2005 00:00:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/26-guid.html</guid>
    
</item>
<item>
    <title>Mitchell Preview 1 Released</title>
    <link>http://www.bangmoney.org/serendipity/index.php?/archives/23-Mitchell-Preview-1-Released.html</link>
            <category>mitchell</category>
    
    <comments>http://www.bangmoney.org/serendipity/index.php?/archives/23-Mitchell-Preview-1-Released.html#comments</comments>
    <wfw:comment>http://www.bangmoney.org/serendipity/wfwcomment.php?cid=23</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bangmoney.org/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    

    <author>nospam@example.com (Chris Lumens)</author>
    <content:encoded>
    While everyone wasn&#039;t looking, I started working on my own programming language and a compiler for that language.  It&#039;s sort of a design as you go project - currently I&#039;ve written up a grammar, so all the compiler can do is check the syntax.  The entire purpose of this language is that I have an interest in bootstrapping compilers, and  there&#039;s no better way to learn about something than by doing it.  If this language is useful to anyone else, that&#039;s completely a side-effect.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;/projects/mitchell&quot;&gt;The Mitchell language and compiler home page&lt;/a&gt; has more information and documentation.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 21 Oct 2004 00:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://www.bangmoney.org/serendipity/index.php?/archives/23-guid.html</guid>
    
</item>

</channel>
</rss>