Getting Up and Running, and Contributing to GHC
summary
Walks through building GHC from source with Hadrian: install an older bootstrap GHC, run the autoconf boot and configure step, then invoke the Build script under hadrian/Build (use -j for parallelism). Explains the four-stage pipeline (stage0→stage1→stage2→stage3), build flavours like quick vs perf, and tricks like freeze1 and Hadrian/GHCi. Shows running tests via --only, demonstrates fixing a Template Haskell bug by adding a failing test, committing a patch, and opening a GitLab merge request that CI then validates.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:45About Me
- 3:12Why Should You Contribute
- 5:25Linux
- 7:47Build System
- 8:32Run Hadrian
- 12:44Build Stages
- 20:22Build Flavours
- 24:58User Settings
- 27:11Other Tips
- 30:38Running Tests
- 33:23Source Code Structure
- 38:31Conventions
- 44:00Compiler
- 51:20Why SDG
- 53:30CMM
- 55:45Core
- 58:17STG CMM
related talks
22mA look across the pond: a comparison between GHC and Racket compilation models
01h 02mOptimising for fast builds with GHC
04h 08mHaskell Beginners' Track
38mWhy you should want to contribute to the Haskell Ecosystem
36mGHC Status Report
32mStable Haskell
53mFalling Skies: Haskell Tooling and Ecosystem Growth
54mHaskell Project Showcase and Community Contributions
