[Haskell-cafe] GSoC proposal: Units for GHC

Nils Schweinsberg ml at n-sch.de
Wed Apr 4 13:38:45 CEST 2012

Hi Haskell-Cafe & GHC-users!

I'm looking to apply for the GSoC and since I've worked on GHC before 
I'd like to continue to do so. My proposal would be something that 
tempted me (as a physics student) for a while: Units for Haskell/GHC.

This project has been suggested for a long time on the GHC wiki, and 
there is already a lot of work done for other languages like ML, F# 
etc[1]. I have tried to implement e.g. the unification algorithm from 
the "Types for Units-of-Measure in F#" talk[2] for an abstract syntax 
tree[3] and it was pretty much straight forward. As I see it, the 
project would consist of:

  1.) Find appropriate rules/algorithms for unit analysis. Most (if not 
all?) of this should be covered in those papers/talks on [1].

  2.) Applying the rules to the Haskell syntax tree used in GHC.

I have approximately 3 years of experience with Haskell, I worked for 
the database research group[4] at the University of Tübingen (Germany) 
on the Database Supported Haskell[5] library. I've done most of the 
coding for the monad comprehension[6] extension, which has been added to 
the latest GHC release version. I'm already quite familiar with the GHC 
internals of the compiler/typechecker, and even though I'd have to look 
up how exactly type interference etc. works in GHC (as I've only *used* 
it, but never tried to understand/modify it) I'm confident that the work 
on GHC itself should be doable in the given timeframe.

So my questions would be:

Do you think this is a appropriate GSoC project?
What should I include in the application/project proposal?
Anything else? Opinions, suggestions?

I realize that I'm kind of late and probably should have written this 
email a long time ago. But there are still 2 days left for the student 
application and hopefully I'll get some good feedback by then.

- Nils

[1]: http://research.microsoft.com/en-us/um/people/akenn/units/index.html
[3]: https://github.com/mcmaniac/units/blob/master/src/Unification.hs
[4]: http://db.inf.uni-tuebingen.de/team
[5]: http://hackage.haskell.org/package/DSH
[6]: http://db.inf.uni-tuebingen.de/files/giorgidze/haskell2011.pdf

More information about the Haskell-Cafe mailing list