<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>ByteLabs: Category Diploma Thesis</title>
    <link>http://blog.solaris.bytelabs.org/articles/category/diploma-thesis</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>additions to a vast pool of entropy by Igor and Ines</description>
    <item>
      <title>HBURG 1.1.2 Released</title>
      <description>&lt;p&gt;After loads of refactoring work a &lt;a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hburg-1.1.2"&gt;new version&lt;/a&gt; of &lt;a href="http://www.bytelabs.org/hburg.html"&gt;&lt;span class="caps"&gt;HBURG&lt;/span&gt;&lt;/a&gt; has been released. If you have &lt;a href="http://hackage.haskell.org/trac/hackage/wiki/CabalInstall"&gt;cabal install&lt;/a&gt; you can easily get it by executing the following commands:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt; $ cabal update
 $ cabal install hburg&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Of course you can also use the instructions provided &lt;a href="http://www.bytelabs.org/hburg.html"&gt;here&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Notable changes:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Completely refactored back-end&lt;/li&gt;
		&lt;li&gt;Automated integration tests via &lt;a href="http://www.bytelabs.org/hburg/Test.hs"&gt;Test.hs&lt;/a&gt;. Execute tests by running:&lt;/li&gt;
	&lt;/ul&gt;


&lt;pre&gt;&lt;code&gt; $ runghc Test.hs clean configure build test&lt;/code&gt;&lt;/pre&gt;

	&lt;ul&gt;
	&lt;li&gt;The example &lt;strong&gt;Java&lt;/strong&gt; compiler that demonstrates HBURGs usage has also been revised and updated. See &lt;a href="http://www.bytelabs.org/hburg.html"&gt;HBURGs homepage&lt;/a&gt; for more information on the example compiler.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;I am actively working on a &lt;strong&gt;C#&lt;/strong&gt; back-end so you can use &lt;span class="caps"&gt;HBURG&lt;/span&gt; to generate a code generator for a compiler written in &lt;strong&gt;C#&lt;/strong&gt;. This should come in handy for the advanced compiler course at the &lt;a href="http://www.ssw.uni-linz.ac.at/Teaching/Lectures/UB2/index.html"&gt;&lt;span class="caps"&gt;SSW&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 26 Jun 2008 19:15:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:19cd5a79-4550-44e6-bf91-719491c670cc</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2008/06/26/hburg-1-1-2-released</link>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
    </item>
    <item>
      <title>HBURG Version 1.1</title>
      <description>Last weekend I did a huge rewrite of &lt;span class="caps"&gt;HBURG&lt;/span&gt;&amp;#39;s backend. Besides many simplifications and optimizations I finally found some time to replace code that passed around state explicitly with &lt;a href="http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html"&gt;Haskell Monad Transformers&lt;/a&gt;. The following is an incomplete list of other fixes and improvements:
	&lt;ul&gt;
	&lt;li&gt;Rewrite rule costs can now include arbitrary expressions&lt;/li&gt;
		&lt;li&gt;Context sensitive analysis is fixed now since it was too restrictive and rejecting even correctly defined specifications&lt;/li&gt;
		&lt;li&gt;The &lt;strong&gt;Gen.Tiling&lt;/strong&gt; module has been complete removed and replaced by much simpler code&lt;/li&gt;
		&lt;li&gt;...&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;You can either get the new version from &lt;a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hburg-1.1"&gt;The Hackage&lt;/a&gt; or from &lt;a href="http://www.bytelabs.org/hburg.html"&gt;&lt;span class="caps"&gt;HBURG&lt;/span&gt;&amp;#39;s home&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 30 Sep 2007 19:20:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:2df88848-5520-4ccd-9d83-a3218943b3ff</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2007/09/30/hburg-version-1-1</link>
      <category>University of Linz</category>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
    </item>
    <item>
      <title>Good Haskell Style</title>
      <description>&lt;p&gt;If you have written lots of &lt;a href="http://www.haskell.com/"&gt;Haskell&lt;/a&gt; code and used tabs for indentation because you have not yet read &lt;a href="http://urchin.earth.li/~ian/style/haskell.html"&gt;Good Haskell Style&lt;/a&gt; by &lt;a href="http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/"&gt;Ian Lynagh&lt;/a&gt;, then the following little Perl snippet may help you to easily convert your &lt;a href="http://www.haskell.com/"&gt;Haskell&lt;/a&gt; code:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;code&gt;perl -e '($_ = join "",&amp;lt;&amp;gt;) =~ s/(\t)/    /g; print;'&lt;/code&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;If you are using &lt;a href="http://www.macromates.com/"&gt;TextMate&lt;/a&gt; you can easily use this snippet as a &lt;em&gt;Filter Through Command&amp;#8230;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.nabble.com/Good-Haskell-Style-t4200373.html"&gt;Ian Lynagh post&lt;/a&gt; to the Haskell Libraries list.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://urchin.earth.li/~ian/style/haskell.html"&gt;Good Haskell Style&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Sat, 11 Aug 2007 15:28:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:acbfd6e0-af12-43cc-8774-98c8a25e230b</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2007/08/11/good-haskell-style</link>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
      <category>Haskell</category>
    </item>
    <item>
      <title>HBURG Version 1.0 Released</title>
      <description>&lt;p&gt;&lt;a href="http://www.bytelabs.org/hburg.html"&gt;&lt;span class="caps"&gt;HBURG&lt;/span&gt;&lt;/a&gt; (Haskell Bottom Up Rewrite Generator) version 1.0 is &lt;a href="http://www.bytelabs.org/hburg.html"&gt;available&lt;/a&gt; as of today! As always there is still work to do, but it is finally the time to release a first version. A very simple example compiler showing how to use &lt;span class="caps"&gt;HBURG&lt;/span&gt; in the compiler design and development process is provided as well.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.bytelabs.org/hburg.html"&gt;Please visit the &lt;span class="caps"&gt;HBURG&lt;/span&gt; project website&lt;/a&gt; for more information.&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Wed, 25 Jul 2007 14:00:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:5da05bd4-cfca-4582-9463-60fd0ee8f3d1</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2007/07/25/hburg-version-1-0-released</link>
      <category>Fun Stuff</category>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
      <category>Haskell</category>
      <category>HBURG</category>
    </item>
    <item>
      <title>Exploiting Parallelism in Multi-way Recursive Methods</title>
      <description>&lt;p&gt;My &lt;a href="http://www.ssw.uni-linz.ac.at/Teaching/DiplomaTheses/AutomatischeCodeerzeugung/Aufgabenstellung.pdf"&gt;code generator&lt;/a&gt; which
is still in the prototyping and experimentation phase does &lt;strong&gt;a lot of recursive tree traversals&lt;/strong&gt; which is quite obvious since it
needs to match tree patterns and emit code for abstract syntax trees (AST).&lt;/p&gt;


	&lt;p&gt;Especially during the code emission phase which does a top down left to right tree traversal it would be nice to 
recursively evaluate child nodes of an &lt;span class="caps"&gt;AST&lt;/span&gt; in parallel if the evaluation of the child nodes does not yield any 
side effects. The following &lt;a href="http://citeseer.ist.psu.edu/31327.html"&gt;paper&lt;/a&gt; nicely describes how to transform
&lt;strong&gt;standard&lt;/strong&gt; multi-way recursive methods into &lt;strong&gt;parallel&lt;/strong&gt; mutli-way recursive methods in Java.&lt;/p&gt;


	&lt;p&gt;The transformation described is quite simple and works well for direct recursion. However, due to the attribute
type grammar I want to use for my tree pattern matching code generator and the way most tree patterns are
augmented with semantic actions, it seems that it would cause a bit of a mess, or at least require a lot of careful
thinking how to integrate such parallelism into the tree pattern matching grammar and the code generator 
which is produced by the grammar specification.&lt;/p&gt;


	&lt;p&gt;Unfortunately right now this idea can not be assigned a high priority and must be post-poned&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Tue, 06 Mar 2007 20:58:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:3b2d29129dd4f3dd37f6cb5593054fbb</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2007/03/06/exploiting-parallelism-in-multi-way-recursive-methods</link>
      <category>University of Linz</category>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
    </item>
    <item>
      <title>Now it is Official</title>
      <description>&lt;p&gt;After signing the official papers my &lt;a href="http://www.ssw.uni-linz.ac.at/Teaching/DiplomaTheses/AutomatischeCodeerzeugung/Aufgabenstellung.pdf"&gt;diploma thesis&lt;/a&gt; is official
as of now. Even though it is going to be a lot of work to provide a clean, functional and
good implementation, I am really looking forward to it. Especially after having messed
around with and read about various compiler back end strategies.&lt;/p&gt;


	&lt;p&gt;Anyway, I am not dead but unfortunately I have almost no more time to blog. There
are also some people I really really really have to send an E-Mail to and this
right here is a promise that it will happen really soon!!!!&lt;/p&gt;</description>
      <pubDate>Thu, 08 Feb 2007 21:48:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:fdc7ff2c1485f4993b23a9b840520ebe</guid>
      <author>igor</author>
      <link>http://blog.solaris.bytelabs.org/articles/2007/02/08/now-it-is-official</link>
      <category>University of Linz</category>
      <category>Diploma Thesis</category>
      <category>Hacking and Computers</category>
    </item>
  </channel>
</rss>
