Personal tools

GHC

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Collaborative documentation: explanation of GHC error messages is badly needed inmho)
(Collaborative documentation)
(8 intermediate revisions by 8 users not shown)
Line 1: Line 1:
The '''Glasgow Haskell Compiler''' is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.
+
The '''Glasgow Haskell Compiler''' is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell.
   
 
* [http://www.haskell.org/ghc/ The GHC Home Page]
 
* [http://www.haskell.org/ghc/ The GHC Home Page]
Line 9: Line 9:
 
These documents relate to the ''latest released'' version of GHC.
 
These documents relate to the ''latest released'' version of GHC.
 
For ''earlier released'' versions click the relevant version on the
 
For ''earlier released'' versions click the relevant version on the
[http://www.haskell.org/ghc/download.html downloads page].
+
[http://www.haskell.org/ghc/download downloads page].
 
For the the ''current HEAD snapshot'' look at
 
For the the ''current HEAD snapshot'' look at
 
[http://www.haskell.org/ghc/download.html#snapshots development snapshots].
 
[http://www.haskell.org/ghc/download.html#snapshots development snapshots].
Line 20: Line 20:
 
: Download: | [http://www.haskell.org/ghc/docs/latest/libraries.html.tar.bz2 HTML.tar.bz2]
 
: Download: | [http://www.haskell.org/ghc/docs/latest/libraries.html.tar.bz2 HTML.tar.bz2]
 
 
; [http://www.haskell.org/ghc/docs/latest/html/Cabal/index.html Cabal]: An infrastructure for building and distributing Haskell software.
+
; [http://www.haskell.org/cabal/users-guide/ Cabal]: An infrastructure for building and distributing Haskell software.
: Download: | [http://www.haskell.org/ghc/docs/latest/Cabal.html.tar.bz2 HTML.tar.bz2] | [http://www.haskell.org/ghc/docs/latest/Cabal.pdf PDF] | [http://www.haskell.org/ghc/docs/latest/Cabal.ps PS] |
 
   
 
== Collaborative documentation ==
 
== Collaborative documentation ==
Line 40: Line 40:
 
** [[Mutually recursive modules]]
 
** [[Mutually recursive modules]]
 
** [[/Memory_Management| Memory management and garbage collection]]
 
** [[/Memory_Management| Memory management and garbage collection]]
  +
** [[/Memory Footprint|Memory footprint on the heap of common data-structures]]
   
 
* Platform related matters
 
* Platform related matters
 
** [[GHC under WINE|Running GHC under Wine]]
 
** [[GHC under WINE|Running GHC under Wine]]
** [http://haskell.forkio.com/dotnet Using GHC with .NET]
+
** [[Mac OS X]]
** [http://haskell.forkio.com/gmpwindows Dynamically linking GMP on Windows]
 
 
** [[Windows]]
 
** [[Windows]]
  +
*** [http://haskell.forkio.com/dotnet Using GHC with .NET]
  +
*** [http://haskell.forkio.com/gmpwindows Dynamically linking GMP on Windows]
   
 
* GHC extensions
 
* GHC extensions
Line 57: Line 60:
 
** [[/Using rules|Using RULES in GHC]]
 
** [[/Using rules|Using RULES in GHC]]
 
** [[GHC/Data Parallel Haskell|Data Parallel Haskell: using nested data parallelism in GHC]]
 
** [[GHC/Data Parallel Haskell|Data Parallel Haskell: using nested data parallelism in GHC]]
  +
** [[Roles]] are GHC's way of discerning the difference between compile-time type equality (created by type synonyms and type families) and runtime type equality (created by newtypes).
   
 
* [[Correctness of short cut fusion]]
 
* [[Correctness of short cut fusion]]
Line 63: Line 67:
   
 
See the [http://hackage.haskell.org/trac/ghc GHC Developer Wiki]. The latest snapshot of the documentation for the next version can be found [http://haskell.org/ghc/dist/current/docs/ here].
 
See the [http://hackage.haskell.org/trac/ghc GHC Developer Wiki]. The latest snapshot of the documentation for the next version can be found [http://haskell.org/ghc/dist/current/docs/ here].
  +
  +
* [[/SIMD|SIMD CPU operations]]
   
 
[[Category:Implementations]]
 
[[Category:Implementations]]

Revision as of 18:58, 8 April 2014

The Glasgow Haskell Compiler is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell.

1 Documentation

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 | PDF | PS |
Standard Libraries
Documentation for the libraries that come with GHC.
Download: | HTML.tar.bz2
Cabal
An infrastructure for building and distributing Haskell software.

2 Collaborative documentation

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.

3 Development of GHC

See the GHC Developer Wiki. The latest snapshot of the documentation for the next version can be found here.