
On 29 March 2010 14:01, Csaba Hruska
Hi! - Another LLVM related idea is to create a framework to support writing llvm passes in haskell, this should be based on existing llvm haskell binding.
This is a cool idea! For bonus points, you could provide a binding to the new version of the Hoopl library that Simon PJ and co are working on. This is a Haskell library that makes it astonishingly easy to write dataflow-based optimisations. It is designed for use with C-- in GHC, but is actually agnostic about the type of graphs it optimises, so you should be able to plug it into LLVM's data types quite easily! For double bonus points, you could then use the LLVM Hoopl backend to write a LLVM pass that fixes up any problems we observe in the output of the LLVM code generator for programs originating from GHC :-) You can get an old version of the paper: http://www.cs.tufts.edu/~nr/pubs/dfopt-abstract.html at not - but note that a Brand New and much improved version is being worked on for ICFP - hopefully the code will be public soon. Cheers, Max