0. Overview (SPJ)
1. Building (SM)
- Getting the code (do a live build...)
- Setting up the build
- tweaking & recompiling, etc.
- how libraries/packages are built
- ghc-inplace vs. installed ghc, how does it run inplace (find its bits)
- how to "use" the build system and common tasks, pointer to docs
- using/extending the testsuite
2. The Compiler
- Roadmap: compiling a single module
- Source-language syntax: HsSyn
- Names: RdrName and OccName, Name
- Entities: variables, type constructors, data constructors, and classes.
- Types: Type
- The core language.
- SPJ renamer, typechecker, desugarer, core->core
- SPJ ModIface, ModDetails, ModGuts
- SPJ Core->CorePrep->Stg->Cmm
- SM PrimOPs: primops.txt.pp - what is generated from it?
- SM GHC API
- SM HscMain upwards: ModSummary, Finder, upsweep, downsweep,
3. Back end (SM)
- SM execution model STG + eval/apply
- SM Cmm->NCG
- SM Cmm->BCO (simple compilation scheme, no primops: GHC.PrimopWrappers)
- SM Cmm->C
Download in other formats: