Next
Previous Contents
The Glasgow Haskell Compiler User's Guide, Version 4.02
The GHC Team, Email:
glasgow-haskell-{bugs,users}-request@dcs.gla.ac.uk
1.
Introduction to GHC
1.1 The (batch) compilation system components
1.2 What really happens when I ``compile'' a Haskell program?
1.3 Meta-information: Web sites, mailing lists, etc.
1.4 Release notes for version 4.02---12/98
2.
Using GHC
2.1 Overall command-line structure
2.2 Meaningful file suffixes
2.3 Help and verbosity options
2.4 Running the right phases in the right order
2.5 Re-directing the compilation output(s)
2.6 Warnings and sanity-checking
2.7 Separate compilation
2.8 Optimisation (code improvement)
2.9 Options related to a particular phase
2.10 Using Concurrent Haskell
2.11 Using Parallel Haskell
2.12 Running a compiled program
2.13 Debugging the compiler
3.
Profiling
3.1 How to profile a Haskell program
3.2 Compiling programs for profiling
3.3 How to control your profiled program at runtime
3.4 What's in a profiling report?
3.5 Producing graphical heap profiles
3.6 Using ``ticky-ticky'' profiling (for implementors)
4.
Advice on: sooner, faster, smaller, stingier
4.1 Sooner: producing a program more quickly
4.2 Faster: producing a program that runs quicker
4.3 Smaller: producing a program that is smaller
4.4 Stingier: producing a program that gobbles less heap space
5.
GHC Language Features
5.1 Unboxed types
5.2 Primitive state-transformer monad
5.3 Primitive arrays, mutable and otherwise
5.4 Calling C directly from Haskell
5.5 Multi-parameter type classes
5.6 Explicit universal quantification
5.7 Existentially quantified data constructors
5.8 Concurrent and Parallel Haskell
5.9 Haskell 1.4 vs. Glasgow Haskell 4.00: language non-compliance
6.
The GHC prelude and libraries
6.1 Prelude extensions
6.2 GHC/Hugs Extension Libraries
6.3 GHC-only Extension Libraries
6.4 The module
PrelGHC
: really primitive stuff
6.5 The Posix library
6.6 Miscellaneous libraries
6.7 Interfaces to C libraries
7.
What to do when something goes wrong
7.1 When the compiler ``does the wrong thing''
7.2 When your program ``does the wrong thing''
7.3 How to report a bug in the GHC system
7.4 Hard-core debugging of GHC-compiled programs
8.
Other Haskell utility programs
8.1 Makefile dependencies in Haskell: using
mkdependHS
8.2 Emacs `TAGS' for Haskell:
hstags
8.3 ``Yacc for Haskell'':
happy
8.4 Pretty-printing Haskell:
pphs
Next
Previous Contents