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
-
References