Thesis on efficiently Eager Haskell

Jan-Willem Maessen jmaessen@mit.edu
Thu, 30 May 2002 13:48:21 -0400


My dissertation, "Hybrid Eager and Lazy Evaluation for Efficient
Compilation of Haskell", is now available on the web:
  http://www.csg.lcs.mit.edu/~earwig/thesis.html

Abstract (1st paragraph only):

The advantage of a non-strict, purely functional language such as
Haskell lies in its clean equational semantics. However, lazy
implementations of Haskell fall short: they cannot express tail
recursion gracefully without annotation. We describe resource-bounded
hybrid evaluation, a mixture of strict and lazy evaluation, and its
realization in Eager Haskell. From the programmer's perspective, Eager
Haskell is simply another implementation of Haskell with the same
clean equational semantics. Iteration can be expressed using tail
recursion, without the need to resort to program annotations. Under
hybrid evaluation, computations are ordinarily executed in program
order just as in a strict functional language. When particular stack,
heap, or time bounds are exceeded, suspensions are generated for all
outstanding computations. These suspensions are re-started in a
demand-driven fashion from the root.


I'm presently working hard on making a production-quality version of
the Eager Haskell compiler.  If you have any questions about Eager
Haskell, or would like to see a pre-release version of the compiler
along with the programs I used as benchmarks, drop me a line.  A full
release of the unified pH / EH compiler is slated for mid-August.

-Jan-Willem Maessen