Difference between revisions of "GHC"
BrettGiles (talk | contribs) m (→Collaborative documentation: Link) |
(Update Cabal link, old link broken) |
||
(22 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
− | The '''Glasgow Haskell Compiler''' is a state-of-the-art, open source |
+ | 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 5: | Line 5: | ||
== Documentation == |
== Documentation == |
||
− | The documentation below relates to ''using'' GHC. For documentation about |
+ | The documentation below relates to ''using'' GHC. For documentation about GHC's internals and building GHC, head over to the [http://hackage.haskell.org/trac/ghc GHC Developer Wiki]. |
These documents relate to the ''latest released'' version of GHC. |
These documents relate to the ''latest released'' version of GHC. |
||
Line 11: | Line 11: | ||
[http://www.haskell.org/ghc/download.html downloads page]. |
[http://www.haskell.org/ghc/download.html 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 |
+ | [http://www.haskell.org/ghc/download.html#snapshots development snapshots]. |
; [http://www.haskell.org/ghc/docs/latest/html/users_guide/index.html The User's Guide]: The User's Guide has all you need to know about using GHC: command line options, language extensions, GHCi, etc. |
; [http://www.haskell.org/ghc/docs/latest/html/users_guide/index.html 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: | [http://www.haskell.org/ghc/docs/latest/users_guide.html.tar. |
+ | : Download: | [http://www.haskell.org/ghc/docs/latest/users_guide.html.tar.bz2 HTML.tar.bz2] | [http://www.haskell.org/ghc/docs/latest/users_guide.pdf PDF] | [http://www.haskell.org/ghc/docs/latest/users_guide.ps PS] | |
; [http://www.haskell.org/ghc/docs/latest/html/libraries/index.html Standard Libraries]: Documentation for the libraries that come with GHC. |
; [http://www.haskell.org/ghc/docs/latest/html/libraries/index.html Standard Libraries]: Documentation for the libraries that come with GHC. |
||
− | : Download: | [http://www.haskell.org/ghc/docs/latest/libraries.html.tar. |
+ | : Download: | [http://www.haskell.org/ghc/docs/latest/libraries.html.tar.bz2 HTML.tar.bz2] |
− | ; [http://www.haskell.org/ |
+ | ; [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.gz HTML.tar.gz] | [http://www.haskell.org/ghc/docs/latest/Cabal.pdf PDF] | [http://www.haskell.org/ghc/docs/latest/Cabal.ps.gz A4 Postscript (gzipped)] | |
||
− | |||
− | ; [http://www.haskell.org/ghc/docs/latest/html/building/index.html GHC Building Guide]: Information on how to build GHC from sources, access the CVS repository, and port GHC to a new platform. |
||
− | : Download: | [http://www.haskell.org/ghc/docs/latest/building.html.tar.gz HTML.tar.gz] | [http://www.haskell.org/ghc/docs/latest/building.pdf PDF] | [http://www.haskell.org/ghc/docs/latest/building.ps.gz A4 Postscript (gzipped)] | |
||
== Collaborative documentation == |
== Collaborative documentation == |
||
Line 36: | Line 32: | ||
** [[How_to_write_a_Haskell_program|How to write a Haskell program]] |
** [[How_to_write_a_Haskell_program|How to write a Haskell program]] |
||
** [[/FAQ|GHC FAQ]] |
** [[/FAQ|GHC FAQ]] |
||
+ | ** [[/Error messages|Error messages]] |
||
+ | ** [[Upgrading_packages|Guidelines for upgrading your GHC]] |
||
** [[/GHCi|Using GHCi]] |
** [[/GHCi|Using GHCi]] |
||
** [[/GHCi debugger| The GHCi debugger]] |
** [[/GHCi debugger| The GHCi debugger]] |
||
** [[Cabal|Using Cabal]] (including with DLLs) |
** [[Cabal|Using Cabal]] (including with DLLs) |
||
** The [[Performance|Haskell Performance Resource]], for advice on improving the performance of your code |
** The [[Performance|Haskell Performance Resource]], for advice on improving the performance of your code |
||
+ | ** [[Mutually recursive modules]] |
||
+ | ** [[/Memory_Management| Memory management and garbage collection]] |
||
+ | |||
+ | * Platform related matters |
||
** [[GHC under WINE|Running GHC under Wine]] |
** [[GHC under WINE|Running GHC under Wine]] |
||
+ | ** [[Mac OS X]] |
||
+ | ** [[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 46: | Line 52: | ||
** [[/As a library|Using GHC as a library]] |
** [[/As a library|Using GHC as a library]] |
||
** [[/Concurrency|Concurrent programming in GHC]] |
** [[/Concurrency|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. |
||
** [http://www.cse.unsw.edu.au/~dons/hs-plugins Dynamically loaded Haskell modules]: Don Stewart's <tt>hs-plugins</tt> library |
** [http://www.cse.unsw.edu.au/~dons/hs-plugins Dynamically loaded Haskell modules]: Don Stewart's <tt>hs-plugins</tt> library |
||
** [[/Using the FFI|Using the Foreign Function Interface]] |
** [[/Using the FFI|Using the Foreign Function Interface]] |
||
** [[/GUI programming|GUI programming in GHC]] |
** [[/GUI programming|GUI programming in GHC]] |
||
− | ** [[/Using |
+ | ** [[/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]] |
||
Line 58: | Line 65: | ||
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]] |
||
+ | [[Category:GHC]] |
Revision as of 21:54, 7 February 2012
The Glasgow Haskell Compiler is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell.
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.
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.
- Using GHC
- How to write a Haskell program
- GHC FAQ
- Error messages
- Guidelines for upgrading your GHC
- Using GHCi
- The GHCi debugger
- Using Cabal (including with DLLs)
- The Haskell Performance Resource, for advice on improving the performance of your code
- Mutually recursive modules
- Memory management and garbage collection
- 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
Development of GHC
See the GHC Developer Wiki. The latest snapshot of the documentation for the next version can be found here.