8 Aug 2007 magnusjonsson   » (Journeyer)

Yay! Today I submitted my first GHC patch, and not only that, a patch to Cabal too! The GHC patch removed a dependency on Cabal which caused the head build to fail today when Cabal changed its API. I first made a simplistic fix but then Igloo suggested I remove the dependency on Cabal completely from that particular piece of code so I revised my patch and he accepted it. I'm happy to say the GHC sources are now

The Cabal patch fixed some erroneous parsing of the output of "ghc --supported-languages". Cabal is changing the way it detects compiler language extensions and they happened to make a silly mistake in the new code.

If I keep going like this I'm going to learn a lot about GHC and the Haskell infrastructure I'm sure. The people on #ghc have been very helpful and receptive.

In my undergrad research I've been using Haskell to parse, transform and pretty-print Fortran code. In the beginning I used Open64, a Fortran compiler and source2source transformer written in C++ for the work, but one day I couldn't take it anymore and started writing a Fortran parser and pretty printer in Haskell instead. Things have been a bit more fun since then but I'd be happy to get rid of Fortran too. Unfortunately transforming Fortran is the whole point of the research so I guess I can't do that :)

I've also been toying with an own programming language. I aim to explore what a programming language based on use-once variables may look like and how it can be made more convenient to work with. Hopefully such a language could combine the benefits of functional programming with the straight-forwardness of imperative languages. Maybe I will write more about it at some point.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!