Version 8.4.1 (released 8th March 2018)

Take Notice

The packages on this page include only the GHC compiler. For most users, we recommend installing a proper Haskell distribution instead of GHC alone. A distribution includes a recent GHC release as well as other important tools (such as cabal-install, for installing libraries), and potentially a broader set of libraries known to work together.

Bundled packages and cabal-install

GHC 8.4 only works with cabal-install version 2.2 or later. Please upgrade if you have an older version of cabal-install.

Optional LLVM dependency

GHC has an optional code generator targeting the LLVM compiler framework which can produce faster code for some programs. If you would like to use the LLVM backend, you'll need to install LLVM 5.0 from an upstream binary distribution or via your distribution's package manager.

Contents

Distribution packages

GHC is packaged for a number of operating systems and distributions. While they may lag behind the latest GHC release, advantages such as dependency checking and ease of uninstallation mean we recommend using them anyway, unless you have a particular need for new features or bug fixes.

Binary Packages

The operating system-specific packages (e.g. RPM or .deb packages on Linux) are generally a better bet than the vanilla .tar.xz binary bundles, because they will check for dependencies and allow the package to be uninstalled at a later date.

However, if you don't have permission to install binaries on your system, or you want to install somewhere other than the default place (/usr or /usr/local on a Unix system), then you'll need to use a .tar.xz binary bundle.

SHA-256 hashes for all of these binary distributions are available here.

All of these tarballs are have associated GPG signatures. Unless otherwise noted the signature should be from Benjamin Gamari <ben@well-typed.com> (key ID 97DB64AD).

Supported platforms:

Supported platforms

Linux (x86)

Debian 8

Generic i386 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was made on a Debian 8 "Jessie" system and requires libgmp.so.10 (typically GMP 5.x).

Linux (x86_64)

Debian 8

Generic amd64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was made on a Debian 8 "Jessie" system and requires libgmp.so.10 (typically GMP 5.x).

Linux (ARMv7)

No files for armv7-deb8-linux

Generic 32-bit ARM Linux (hard-float).

Note: These builds were prepared on Debian Jessie. Note that ARM support is still a bit experimental. This build requires LLVM. Due to bugs in BFD ld it is necessary to use the gold linker.

Linux (AArch64)

Generic 64-bit AArch64 Linux.

Note: These builds were prepared on Debian Jessie. Note that AArch64 support is still a bit experimental. This build requires LLVM.

Windows (x86)

This is compatible with Microsoft Windows Vista and later. It also includes support for compiling C++ files.

Windows 64-bit (x86_64)

This is compatible with Microsoft Windows Vista and later. It also includes support for compiling C++ files.

Mac OS X (x86_64)

This is a distribution for Mac OS X, 10.7 or later. The package requires the command line tools package of Xcode 4 or XCode 5 to be installed. You can find Xcode at http://developer.apple.com/.

Source Distribution

The source tarballs provide everything necessary to build the compiler, interactive system, and a minimal set of libraries. For more information on building, see the building guide.

The testsuite provides a thorough set of tests for validating your build. Unpack this tarball on top of the regular source distribution in order to run the testsuite (see the testing guide for details).

Building on Windows requires a set of additional tools. Extract this tarball on top of the regular source distribution,

The source distribution needs an installed GHC (version 8.0 at least). If your platform isn't currently supported with a binary distribution, then you'll need to consult the section on Porting GHC in the Building Guide.