nhc98 is a small and highly portable compiler
for the Haskell 98 language. It has been
extended with the standard FFI and
hierarchical module namespaces, features
extensive heap profiling capabilities, and
generally produces small code which runs
using small amounts of heap.