<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for magnusjonsson</title>
    <link>http://www.advogato.org/person/magnusjonsson/</link>
    <description>Advogato blog for magnusjonsson</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 6 Sep 2008 17:27:44 GMT</pubDate>
    <item>
      <pubDate>Wed, 8 Aug 2007 23:49:01 GMT</pubDate>
      <title>8 Aug 2007</title>
      <link>http://www.advogato.org/person/magnusjonsson/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/magnusjonsson/diary.html?start=4</guid>
      <description>Yay! Today I submitted my first GHC patch, and not only&#xD;
that, a patch to Cabal too! The GHC patch removed a&#xD;
dependency on Cabal which&#xD;
caused the head build to fail today when Cabal changed its&#xD;
API. I first made a simplistic fix but then Igloo suggested&#xD;
I remove the dependency on Cabal completely from that&#xD;
particular piece of code so I revised my patch and he&#xD;
accepted it. I'm happy to say the GHC sources are now &#xD;
&#xD;
&lt;p&gt; The Cabal patch fixed some erroneous parsing of the output&#xD;
of "ghc --supported-languages". Cabal is changing the way it&#xD;
detects compiler language extensions and they happened to&#xD;
make a silly mistake in the new code.&#xD;
&#xD;
&lt;p&gt; If I keep going like this I'm going to learn a lot about GHC&#xD;
and the Haskell infrastructure I'm sure. The people on #ghc&#xD;
have been very helpful and receptive.&#xD;
&#xD;
&lt;p&gt; In my undergrad research I've been using Haskell to parse,&#xD;
transform and pretty-print Fortran code. In the beginning I&#xD;
used Open64, a Fortran compiler and source2source&#xD;
transformer written in C++ for the work, but one day I&#xD;
couldn't take it anymore and started writing a Fortran&#xD;
parser and pretty printer in Haskell instead. Things have&#xD;
been a bit more fun since then but I'd be happy to get rid&#xD;
of Fortran too. Unfortunately transforming Fortran is the&#xD;
whole point of the research so I guess I can't do that :)&#xD;
&#xD;
&#xD;
&lt;p&gt; I've also been toying with an own programming language. I&#xD;
aim to explore what a programming language based on use-once&#xD;
variables may look like and how it can be made more&#xD;
convenient to work with. Hopefully such a language could&#xD;
combine the benefits of functional programming with the&#xD;
straight-forwardness of imperative languages. Maybe I will&#xD;
write more about it at some point.</description>
    </item>
    <item>
      <pubDate>Sun, 29 Jul 2007 05:56:47 GMT</pubDate>
      <title>29 Jul 2007</title>
      <link>http://www.advogato.org/person/magnusjonsson/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/magnusjonsson/diary.html?start=3</guid>
      <description>This is a late update on Gsharp, but better late than never.&#xD;
I have stopped contributing to Gsharp because I think there&#xD;
are now more pressing issues with it than adding more&#xD;
microtonal support. Here is what I got done:&#xD;
&#xD;
&lt;p&gt; &lt;ul&gt;&#xD;
&lt;li&gt;A MIDI back-end that uses pitch bend messages to produce&#xD;
microtones.&#xD;
&lt;li&gt;Support for regular temperaments based on size of octave&#xD;
and size of fifth (and size of quartertone)&#xD;
&lt;li&gt;Access to this functionality from the GUI through CLIM&#xD;
commands.&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt; Additionally Christophe Rhodes added quartertone glyphs&#xD;
which work well with my midi playback. This proves that the&#xD;
infrastructure support for microtones is now there. All that&#xD;
is lacking is the glyphs. But for now I think Gsharp has&#xD;
more important things that need to be worked on so I am&#xD;
stepping back until Gsharp has matured a little more.&#xD;
&#xD;
&lt;p&gt; I am now looking forward to delving into some Haskell&#xD;
hacking! I am hoping to get better at Haskell by hacking on&#xD;
the GHC compiler itself. Why? Because learning Haskell for&#xD;
the past few years I have come to think Haskell is the most&#xD;
interesting thing going on in CS right now. I vainly hope&#xD;
that in the near future (I will get my bachelor's degree in&#xD;
CS this spring if everything goes right) I will be able to&#xD;
work with Haskell or do research on/with it.</description>
    </item>
    <item>
      <pubDate>Sat, 16 Jun 2007 11:10:14 GMT</pubDate>
      <title>16 Jun 2007</title>
      <link>http://www.advogato.org/person/magnusjonsson/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/magnusjonsson/diary.html?start=2</guid>
      <description>I have got basic microtonal support working in gsharp, but&#xD;
it is not connected to the GUI yet. In the process I&#xD;
discovered a&#xD;
handful of bugs in the midi package and I have submitted&#xD;
them to the maintainers. It turned out that Christophe&#xD;
Rhodes (one of the gsharp devs) is the main maintainer of&#xD;
it. Once the midi package has been updated and if other&#xD;
gsharp devs are okay with my code I will commit it to CVS.&#xD;
&#xD;
&lt;p&gt; It has been a pleasure to work in common lisp. I could&#xD;
hotswap code without restarting the application, test things&#xD;
in the REPL, and the full numeric tower simplified my code&#xD;
in an unexpected manner. I had originally planned to have&#xD;
one class for equal temperaments and one class for linear&#xD;
temperaments for precision reasons, but the rational number&#xD;
support and the numeric tower made the equal temperament&#xD;
class superfluous!</description>
    </item>
    <item>
      <pubDate>Tue, 12 Jun 2007 06:00:13 GMT</pubDate>
      <title>12 Jun 2007</title>
      <link>http://www.advogato.org/person/magnusjonsson/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/magnusjonsson/diary.html?start=1</guid>
      <description>I'm continuing to dig into the Gsharp code, especially the&#xD;
buffer classes and the midi back-end. I found a little&#xD;
bug in the &lt;a&#xD;
href='http://www.doc.gold.ac.uk/isms/lisp/midi/'&gt;midi&#xD;
library&lt;/a&gt; used by Gsharp and emailed the&#xD;
&lt;a href="" 'http://www.doc.gold.ac.uk/isms/'&gt;university&#xD;
group&lt;/a&gt; that maintains it about whom to submit the&#xD;
bug-fix to.&#xD;
&#xD;
&lt;p&gt; I also found a small redundancy in the Gsharp code and I&#xD;
expect I&#xD;
will find more things as I wade through the code, so I am&#xD;
going to request write access to the Gsharp CVS&#xD;
repository once the &lt;a&#xD;
href='http://common-lisp.net'&gt;common-lisp.net&lt;/a&gt; mail&#xD;
server starts&#xD;
working again. It appears to have been down for the past few&#xD;
days and for this reason I haven't been able to join the&#xD;
Gsharp mailing lists either.</description>
    </item>
    <item>
      <pubDate>Mon, 11 Jun 2007 17:10:16 GMT</pubDate>
      <title>11 Jun 2007</title>
      <link>http://www.advogato.org/person/magnusjonsson/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/magnusjonsson/diary.html?start=0</guid>
      <description>I'm posting my first blog entry! Here's why:&#xD;
&#xD;
&lt;p&gt; I want to add some microtonal support to &lt;a&#xD;
href='http://www.cliki.net/gsharp'&gt;GSharp&lt;/a&gt; and I talked&#xD;
about it with one of its developers, &lt;a&#xD;
href='http://www.advogato.org/person/crhodes/'&gt;Christophe&#xD;
Rhodes&lt;/a&gt; (Xof on #lisp on freenode.org). He was very&#xD;
positive and helpful and&#xD;
suggested that I blog about my progress. So here I am.&#xD;
&#xD;
&lt;p&gt; I intend to first add support for simple temperaments in the&#xD;
midi back-end. By simple, I mean temperaments for which no&#xD;
accidentals beyond sharps and flats are needed.&#xD;
&#xD;
&lt;p&gt; If that goes well I may start adding some &lt;a&#xD;
href='http://users.bigpond.net.au/d.keenan/sagittal/'&gt;sagittal&#xD;
accidentals&lt;/a&gt; to support more temperaments.</description>
    </item>
  </channel>
</rss>
