
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.