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.