Next
Previous Contents
The Glasgow Haskell Compiler User's Guide, Version 4.04
The GHC Team, Email:
glasgow-haskell-{bugs,users}-request@haskell.org
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.04---7/99
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 Assertions
5.9 Scoped Type Variables
5.10 Pragmas
5.11 Rewrite rules
5.12 Concurrent and Parallel Haskell
5.13 Haskell 98 vs. Glasgow Haskell: 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
9.
Building and using Win32 DLLs
9.1 Linking with DLLs
9.2 Not linking with DLLs
9.3 Creating a DLL
Next
Previous Contents