Difference between revisions of "GHC/Documentation"

From HaskellWiki
< GHC
Jump to navigation Jump to search
Line 33: Line 33:
   
 
* [[GHC/FAQ|GHC FAQ]]
 
* [[GHC/FAQ|GHC FAQ]]
 
* The [[Performance|Haskell Performance Resource]], for advice on improving the performance of your code
 
* [[GHC/As a library|Using GHC as a library]]
 
* [[GHC/As a library|Using GHC as a library]]
 
* [[GHC/Concurrency|Concurrent programming in GHC]]
 
* [[GHC/Concurrency|Concurrent programming in GHC]]
* [http://www.haskell.org/hawiki/TemplateHaskell Template Haskell]. (NB: this is still in Hawiki. Can someone move it to HaskellWiki please?)
+
* [http://www.haskell.org/hawiki/TemplateHaskell Template Haskell] is a (GHC) extension to Haskell that adds compile-time metaprogramming facilities. (NB: this is still in Hawiki. Can someone move it to HaskellWiki please?)
* The [[Performance|Haskell Performance Resource]], for advice on improving the performance of your code
 
 
* [http://www.cse.unsw.edu.au/~dons/hs-plugins Dynamically loaded Haskell modules]. <tt>hs-plugins</tt> is a Don Stewart's library for loading code written in Haskell into an application at runtime, in the form of plugins. It also provides a mechanism for (re-)compiling Haskell source at runtime. Thirdly, a combination of runtime compilation and dynamic loading provides a set of eval functions: a form of runtime metaprogramming. Values exported by Haskell plugins are transparently available to Haskell host applications, and bindings exist to use Haskell plugins from at least C and Objective C programs.
 
* [http://www.cse.unsw.edu.au/~dons/hs-plugins Dynamically loaded Haskell modules]. <tt>hs-plugins</tt> is a Don Stewart's library for loading code written in Haskell into an application at runtime, in the form of plugins. It also provides a mechanism for (re-)compiling Haskell source at runtime. Thirdly, a combination of runtime compilation and dynamic loading provides a set of eval functions: a form of runtime metaprogramming. Values exported by Haskell plugins are transparently available to Haskell host applications, and bindings exist to use Haskell plugins from at least C and Objective C programs.
   

Revision as of 15:19, 14 April 2006

GHC Documentation

The documentation below relates to using GHC. For documentation about the internals of 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 the bottom of the downloads page.


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.gz | PDF | A4 Postscript (gzipped) |
Hierarchical Libraries
Documentation for the hierarchical libraries that come with GHC.
Download: | HTML.tar.gz |
Cabal
An infrastructure for building and distributing Haskell software.
Download: | HTML.tar.gz | PDF | A4 Postscript (gzipped) |
(Old) Haskell Libraries
Previous versions of GHC (before version 5.04) came with a suite of libraries known as hslibs, aka the Hugs-GHC libraries. As we are in the process of moving towards using hierarchical libraries for everything, many of these libraries have moved over to the new packages in the hierarchical libraries above. We still provide the old hslibs libraries for backwards compatibility and also for those libraries which have yet to move into the hierarchy. For libraries which have moved, the documentation contains a pointer to the location in the new libraries. NOTE: These libraries are scheduled for removal in GHC 6.6. See also: Edison (part of hslibs/data).
Download: | HTML.tar.gz | PDF | A4 Postscript (gzipped) |
GHC Building Guide
Information on how to build GHC from sources, access the CVS repository, and port GHC to a new platform.
Download: | HTML.tar.gz | PDF | A4 Postscript (gzipped) |

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.

  • GHC FAQ
  • The Haskell Performance Resource, for advice on improving the performance of your code
  • Using GHC as a library
  • Concurrent programming in GHC
  • Template Haskell is a (GHC) extension to Haskell that adds compile-time metaprogramming facilities. (NB: this is still in Hawiki. Can someone move it to HaskellWiki please?)
  • Dynamically loaded Haskell modules. hs-plugins is a Don Stewart's library for loading code written in Haskell into an application at runtime, in the form of plugins. It also provides a mechanism for (re-)compiling Haskell source at runtime. Thirdly, a combination of runtime compilation and dynamic loading provides a set of eval functions: a form of runtime metaprogramming. Values exported by Haskell plugins are transparently available to Haskell host applications, and bindings exist to use Haskell plugins from at least C and Objective C programs.

Development of GHC

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