This is an illustrated document about the GHC(Glasgow Haskell Compiler).
Here is haskell_ghc_illustrated.pdf.
- Executable binary
- Compile steps
- Runtime System
- Development languages
- Machine layer/models
- STG-machine
- Heap object in STG-machine
- STG-machine evaluation
- Pointer tagging
- Thunk and update
- Allocate and free heap objects
- STG - C land interface
- Thread
- Thread context switch
- Creating main and sub threads
- Thread migration
- Heap and Threads
- Threads and GC
- Bound thread
- Spark
- Mvar
- Software transactional memory
- FFI
- IO and FFI
- IO manager
- Bootstrap
- Appendix
- Boxity : boxed and unboxed
- Levity : lifted and unlifted
- Boxity and levity
- References