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
- Source Distribution
- Windows 9x/NT
- i386-unknown-linux (glibc 2.0) binaries.
- i386-unknown-linux (glibc 2.1) binaries.
- Linux source and binary RPMs (courtesy of Manuel Chakravarty).
- Debian Linux packages (courtesy of Michael Weber).
- sparc-sun-solaris2 binaries.
- hppa1.1-hp-hpux binaries.
- FreeBSD binaries are available in the form of a FreeBSD package (lang/ghc-4.04), available from your local FreeBSD mirror site.
- NetBSD/x86 users can also get GHC as a package (lang/ghc-4.04), from your local NetBSD mirror site. The port template source is here.
- HC files (for booting from source without GHC installed on x86 boxes)
- HC files (for booting from source without GHC installed on Sparc boxes)