Version 4.04 (Patchlevel 1)

This is the most recent release (here's the announcement), for which a source distribution and selected binary distributions are available. 

GHC 4.04 now has a BSD-style license.

We rewrote large chunks of the compiler and the whole runtime system for GHC 4.xx, improving the overall architecture and adding some new features (Haskell 98 language support, scoped type variables, exceptions, weak pointers, multi-generational garbage collection, foreign function interface).  We also cleaned up the back end and removed some of the more complex features of the runtime model (return in registers, two stacks), making GHC more efficient on architectures with fewer registers.

GHC 4.04 now beats all previous compilers in terms of execution speed, but is still lacking a working profiler. Some of the architectures supported by 3.02 are as yet unsupported by 4.04, mainly due to lack of resources.  For the time being, we have ports for x86 (various operating systems), Sparc, and HP-PA boxes.  An Alpha port is in the works.

NOTE: to build this version from source we recommend you use Happy version 1.6. Sources available from the Happy web page or the CVS repository

Patchlevel 1

A patchlevel release of GHC 4.04 has been made. The distributions below have all been updated. Patchlevel 1 includes the following changes:
  • One major bug, and several minor bugs fixed.
  • Compatible with GCC 2.95.
  • Non-blocking I/O code added, including support for threadWaitRead, threadWaitWrite and threadDelay.

Online Docs

Distributions