# nhc98 download page

The latest stable release is 1.20, available in various distribution formats (listed below). Important patches for the stable version are also provided. The development tree is at version 1.21, 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 instructions.

### Distribution packages

package | machine | version | date | size
--- | --- | --- | --- | ---
Sources (.tar.gz) | any | 1.20 | 2007-11-23 | 25Mb
Sources (.tar.gz) | any | 1.18 | 2005-03-15 | 14.5Mb
Executable (.tar.gz) | ix86-Linux | 1.18 | 2005-03-11 | 8.4Mb
Executable (.tar.gz) | sparc-solaris2 | 1.18 | 2005-03-11 | 10.0Mb
Executable (.tar.gz) | powerpc-Darwin7 | 1.18 | 2005-03-11 | 9.0Mb
Executable (.tar.gz) | ix86-CYGWIN_NT-5.0 | 1.18 | 2005-03-11 | 8.1Mb
Sources (.tar.gz) | any | 1.16 | 2003-03-08 | 5.6Mb
Executable (.tar.gz) | ix86-Linux | 1.16 | 2003-03-08 | 4.1Mb
Executable (.tar.gz) | sparc-solaris2 | 1.16 | 2003-03-31 | 5.7Mb
Executable (.tar.gz) | ix86-CYGWIN_NT-5.1 | 1.16 | 2003-04-29 | 3.3Mb
Sources+Executable | ix86-FreeBSD | 1.16 | 2003-03-08 | .

Alternative locations:
Tarfiles:
`ftp://ftp.cs.york.ac.uk/pub/haskell/nhc98/` `http://www.cs.york.ac.uk/fp/nhc98/nhc98src-1.20.tar.gz`
Fedora:
`http://www.haskell.org/fedora/`
Debian:
`ftp://ftp.debian.org/debian/pool/main/n/nhc98/`
`ftp://ftp.debian.org/debian/pool/main/h/hmake/`
(Or, you can adjust your /etc/apt/sources.lst to point to the "testing" branch of Debian and use apt-get to install and handle dependencies for you.)
FreeBSD ports:
`http://freshports.org/lang/nhc98/` `http://freshports.org/devel/hs-hmake/`
OpenBSD ports:
`http://www.cse.unsw.edu.au/~dons/haskell_openbsd.html`

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]
sparc | Solaris, SunOS4
mips | IRIX5, Ultrix-4.5, [NOT IRIX6]
power3 | AIX
pmax,amiga,atari,cobalt,sun3,m68K | NetBSD

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 `nhc-bugs@haskell.org`. (You do not need to be a member of the list to post to it.)

### Patches

patch name | patch to | date | fixes what problem?
--- | --- | --- | ---
none | nhc98 v1.20 | 2007-11-23 | no patches yet for nhc98-1.20
confhc | nhc98 v1.18 | 2006-08-21 | Fix a bug in detecting the version of ghc-6.4.x on MacOS platforms. This manifested as the error "Makefile: *** missing separator".
himem | nhc98 v1.18 | 2006-07-28 | Fix the long-standing high-memory bug that afflicts nhc98 on many of the more recent Linux distributions.

newtype

nhc98 v1.18

2005-04-11

Fix a bug in checking the consistency of newtypes, triggered by

    import Control.Monad(liftM2); newtype A a = A a;

library interface files | nhc98 v1.18 | 2005-03-28 | 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.
hi | nhc98 v1.18 | 2005-03-11 | 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.
gcc3.3 | nhc98 v1.16 | 2003-12-16 | Several new features in gcc-3.3 cause breakage in the nhc98 build. This patch fixes many of those problems, including abort() with too many args, literal string line breaks in asmlong.h, and different assembly alignment instructions.
ghc6 | nhc98 v1.16 | 2003-05-29 | Fix hmake to cope with the recent change in the format of ghc's version numbering.
hmake/cygwin | hmake v3.07 | 2003-04-28 | Errors from hmake-config during 'make install' on a Cygwin platform are caused by a backslash in the middle of a file path.
type synonyms | nhc98 v1.16 | 2003-04-01 | A degenerate type synonym like type T a = a in some circumstances incorrectly caused an occurence check error.

The latest updates to these pages are available on the WWW from `http://www.haskell.org/nhc98/`

This page last modified: 23rd November 2007
York Functional Programming Group