The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.
The documentation below relates to using GHC. For documentation about GHC's internals and building GHC, head over to the GHC Developer Wiki.
These documents relate to the latest released version of GHC. For earlier released versions click the relevant version on the downloads page. For the the current HEAD snapshot look at development snapshots.
- The User's Guide
- The User's Guide has all you need to know about using GHC: command line options, language extensions, GHCi, etc.
- Download: | HTML.tar.bz2 |
GHC is a big system. We try to document the core functionality (above), but you can help by writing documentation yourself. This section collects documentation written in a collaborative way, by users and developers together. Please help by adding new sections, and by clarifying and improving existing ones.
- Using GHC
- Platform related matters
- GHC extensions
- Type system extensions in GHC
- Using GHC as a library
- Concurrent programming in GHC
- Template Haskell is a (GHC) extension to Haskell that adds compile-time metaprogramming facilities.
- Quasiquotation allows the ability for user-definable parsers to provide new concrete syntax for any datatype.
- Dynamically loaded Haskell modules: Don Stewart's hs-plugins library
- Using the Foreign Function Interface
- GUI programming in GHC
- Using RULES in GHC
- Data Parallel Haskell: using nested data parallelism in GHC