nhc98 is a fully-fledged compiler for Haskell 98, the standard lazy functional programming language. It based on Niklas Rojemo's nhc13, a compiler for an earlier version of the language. Written in Haskell, it is small and very portable, and aims to produce small executables that run in small amounts of memory. It also comes with extensive tool support. With hmake, a replacement for the other makes used in Haskell development, the big advantage is that you don't have to write a Makefile - the tools extract dependencies automatically from your source files, and issue appropriate commands to rebuild your target. Greencard is a foreign-language interface. It is a preprocessor for Haskell which allows Haskell functions to call C. This allows access to operating system services and other libraries. Hat is a source-level tracer for Haskell which gives the user access to otherwise invisible information about a computation and helps the programmer to understand how a program works or why it does not. nhc98 is a 32-bit compiler; if you are on a 64-bit system your compiler must accept -m32 or it won't build. You must also be able to execute 32-bit binaries.