[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
[2]:
http://research.microsoft.com/en-us/um/people/akenn/units/MLWorkshop2008.pdf
[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