Papers related to GHC

Here we've collected together lots of documentation and papers that generally describe stuff we've implemented in GHC.

Many of these papers are old. For more up-to-date ones look on:

All docs are gzipped A4 Postscript unless otherwise specified.

  • Haskell Execution Platform design document. This document describes the design for an integrated compiler/interpreter API for executing Haskell programs, which forms the heart of the combined Hugs/GHC system.

Language design

Types and typechecking

  • [1994] GHC's typechecker implementation is described in the paper Type classes in Haskell, CV Hall, K Hammond, SL Peyton Jones, and PL Wadler, European Symposium On Programming, LNCS 788, Springer Verlag, pp. 241-256, April 1994.
  • [1998] The UsageSP analysis is described in Keith Wansbrough and Simon Peyton Jones, Once Upon a Polymorphic Type, Technical Report TR-1998-19, Department of Computing Science, University of Glasgow, 1998. Conference version Once Upon a Polymorphic Type, in The Twenty-sixth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 20-22, 1999, San Antonio, Texas. This work isn't in GHC.

The innards of the complier

Runtime system

  • Run-time System document. This document (is supposed to) describe the new run-time system in GHC 4.xx. Be warned that the implementation and this document are evolving in parallel, so they might not be quite in sync.

The awkward squad: I/O, concurrency, exceptions, and foreign functions


Last modified 5 years ago Last modified on Aug 11, 2009 12:22:03 PM