Stephen Diehl
Stephen Diehl
  • Index
  • Blog
    • Python
    • Mathematics
    • Machine Learning
    • Humor
    • Logic Programming
    • Physics
    • Public Policy
    • Quantitative Finance
    • Functional Programming
    • Compilers
    • Formal Methods
    • Haskell
  • Writings
  • Contact Me
  • PGP Key
  • Github
  • Bluesky
  • LinkedIn
  • RSS

A Haskell Implementation Reading List

A reading list for those interested in the implementation internals of Haskell
compilers. The GHC Reading list is more
exhaustive
, these are simply
the papers I think give a good high-level overview of the topics.

Typeclass Inference

  • A Theory Of Qualified Types
  • Type Inference For Parametric Type Classes
  • Type Reconstruction For Type Classes
  • Constraints For Type Class Extensions

Typeclass Elaboration

  • How to Make Ad-Hoc Polymorphism Less Ad-Hoc
  • Implementing Haskell Overloading
  • Implementing Type Classes
  • Typeclasses In Haskell

Rank-N Types

  • Practical Type Inference For Arbitrary Rank Types

Core

  • An External Representation for the GHC Core Language

STG

  • Making A Fast Curry
  • Implementing Lazy Functional Languages On Stock Hardware
  • Implementing functional languages: a tutorial

Cmm

  • C--: a portable assembly language that supports garbage collection

Compilation

  • Unboxed Types As First Class Values
  • Multi-paradigm Just-In-Time Compilation
  • Low Level Virtual Machine For Glasgow Haskell Compiler
  • The Grin Project: A Highly Optimising Back End for Lazy Functional Languages

Operational Details and Implementation

  • Stack Traces In Haskell

Transformations

  • Secrets of the GHC Inliner

Garbage Collection

  • Parallel Generational-Copying Garbage Collection with a Block-Structured Heap
  • Soft Real-time Garbage Collection for Dynamic Dispatch Languages

A copy of all of the PDF papers is available in this Git repo.

© 2009 - 2025 Stephen Diehl. All rights reserved.