nhc98 download page
The latest stable release is 1.22, available in various distribution
formats (listed below). Important patches for the stable version
are also provided. The development tree is at version 1.23,
and is only available through darcs. Bugfixes
and important changes to the system are described in the release notes for each version.
Don't forget to read the installation
Known to compile for at least the following machine/OS combinations:
|ix86||Linux, MacOS-X, Darwin, NetBSD, FreeBSD, OpenBSD, Solaris,
Windows/Cygwin, [NOT Windows/msys]
|x86_64||Linux, MacOS-X, Darwin
|powerpc||Linux, MacOS-X, Darwin, NetBSD, [NOT AIX]
|mips||IRIX5, Ultrix-4.5, [NOT IRIX6]
All the documents available on the web are included in all the packages.
(* Please note that options/instructions for out-of-date packages
may differ slightly from the ones on the web. Always follow the
instructions from the package itself.)
The unified source tree contains the complete Haskell sources for the
compiler, runtime system, standard prelude, and libraries (including
Binary, FFI, IOExtras, etc) for nhc98, and current versions of
GreenCard, hp2graph, hmake, and cpphs.
In addition, it contains bootstrapping C sources in case you
don't already have a Haskell compiler to build nhc98 with.
The binary packages contain just the executables, interface files, and
object files for the compiler, runtime system, standard prelude,
libraries (including Binary, FFI, IOExtras, etc), GreenCard,
hp2graph, hmake, and cpphs. In short,
everything (except the sources) needed for normal compilation, heap
profiling, time profiling.
The installation instructions should
be comprehensive, but if you have any problems, please mail
(You do not need to be a member of the list to post to it.)
|patch name ||patch to
||date ||fixes what problem?|
||no patches yet for nhc98-1.22
||no patches yet for nhc98-1.20
||Fix a bug in detecting the version of ghc-6.4.x on MacOS platforms.
This manifested as the error "Makefile: *** missing separator".
||Fix the long-standing high-memory bug that afflicts nhc98 on
many of the more recent Linux distributions.
||Fix a bug in checking the consistency of newtypes, triggered by
import Control.Monad(liftM2); newtype A a = A a;
library interface files
||If you bootstrap nhc98 with a C compiler, then although the
hierarchical library packages are built, their interface files
are not. This tarfile should be unpacked on top of your source
tree, to give you the missing .hi files.
||Export HMAKECONFDIR into hi (hmake interactive). This small patch
is only needed for early downloads of nhc98src-1.18,
on or before 15 Mar 2005.
The latest updates to these pages are available on the WWW from
This page last modified: 9 Jul 2010
York Functional Programming Group