[Haskell-cafe] compiling lazy functional languages

Bernard Pope bjpop at csse.unimelb.edu.au
Wed Jan 18 21:23:02 EST 2006


On Wed, 2006-01-18 at 13:38 -0500, Sam Goldman wrote:
> Sorry if this is too off-topic for this list.
> 
> I'm a hobbyist programmer and I've recently become interested in lazy 
> functional languages, particularly the optimization strategies available 
> to them during compilation. I've been playing around with Haskell for 
> about a year and it has been an excellent resource for me.
> 
> I guess my main question is this: what are the x most compelling 
> directions in optimized compilation for (pure) lazy functional languages 
> in recent research (where x::Nat is an unevaluated thunk in your head)

Things that pop into my head immediately are:

   - Strictness analysis: there are far too many papers on this topic to
list here. Google will give you a good idea.

   - Inlining (which facilitates other optimisations). See for instance:
"Secrets of the Glasgow Haskell Compiler inliner".

   - Unboxing (passing arguments in evaluated form in registers rather
than as pointers to heap objects). 

Simon Peyton Jones has a stack of papers about all sorts of compiler
technologies (some of which fall under the title of optimisation). See:
   http://research.microsoft.com/~simonpj/Papers/papers.html#compiler

That should give you enough to start with.

Bernie.



More information about the Haskell-Cafe mailing list