# The nhc98 compiler

nhc98 is a small, easy to install, standards-compliant compiler for Haskell 98, the lazy functional programming language. It is very portable, and aims to produce small executables that run in small amounts of memory. It produces medium-fast code, and compilation is itself quite fast. It also comes with extensive tool support for automatic compilation, foreign language interfacing, heap and time profiling, tracing, and debugging. (Some of its advanced kinds of heap profiles are not found in any other Haskell compiler.)

nhc98 is available for all 32-bit Unix-like platforms (including MacOS-X, Cygwin/Windows, Linux, Solaris, *BSD, AIX, HP-UX, Ultrix, IRIX, etc.) Although it is itself written in standard Haskell 98, it can be quickly and easily bootstrapped from C sources, so you do not need another Haskell compiler to get started.

about

  Why use nhc98?
  Compliance with Haskell 98.
  Language extensions.
  Published papers.
  Copyright and licence information.

download/build/install

  Version 1.18 released 11th March 2005.
  Download nhc98.
  Build and/or install instructions.
  Configuration options.
  Recent changes.

user guides

  Compile-time options.
  Runtime-time options.
  Error messages.
  Libraries included with nhc98.
  Foreign function interface.
  Implementation limits.

tools

  hi - interactive development environment.
  hmake - batch compilation tool.
  greencard - C-interface tool.
  Heap profiling.
  Time profiling.
  Hat, tracing and debugging.

development

  Known bugs.
  Wish list.
  Implementation notes for developers.
  Would you like to contribute?
  Anonymous CVS repository.

community

  Mailing lists for all nhc98 users.
  More general Haskell mailing lists.
  haskell.org

If you have any problems, please send a message to the bug reports mailing list at nhc-bugs@haskell.org.

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

This page last modified: 10th March 2005
York Functional Programming Group