The Glasgow Haskell Compiler

GHCGHC User’s GuideGHC source repositoryGHC issue tracker is the Haskell compiler. In addition the compiler, GHC also includes:

  • a REPL called GHCi (“GHC interactive”);
  • an executable called runghc to run Haskell source files directly without a compilation step;
  • a great number of extensions to the Haskell language which can enable features beyond what is given in the Haskell language specification.

‘GHC’ stands for ‘Glasgow Haskell Compiler’, as the project originated at the University of Glasgow in Scotland.

Other compilers

Although the designers of the Haskell language intended to allow multiple implementations, at present there are no serious open source competitors to GHC. The only other noteworthy Haskell compiler is Hugs,Hugs which is no longer under active development.

Version numbers

GHC version numbers have the form “x.y.z”, where:GHC version numbering policy

  • The “x.y” portion is the major version number, incremented every six months with releases that contain new features.
    • The first number “x” is called the “super-major” version number, and is increased for releases that the GHC developers feel are the most significant. For example, the version number advanced from 7.10 to 8.0 becauseGHC 8.0.1 release announcement this release included “dozens of exciting developments”.
    • The second number “y” is always even for released versions of GHC and odd for development builds. So if you only follow released versions, “y” appears to skip the odd numbers; but if you build GHC from source, you will see an odd number in this portion of the version number.
  • The “z” portion is the minor version number, for bugfix releases that do not introduce new features.

Join Type Classes for courses and projects to get you started and make you an expert in FP with Haskell.