Version 12 (modified by simonpj, 7 years ago) (diff)


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