[Haskell-cafe] compiling lazy functional languages
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:
That should give you enough to start with.
More information about the Haskell-Cafe