Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 908 Bytes

README.md

File metadata and controls

58 lines (45 loc) · 908 Bytes

GHC(STG,Cmm,asm) illustrated

This is an illustrated document about the GHC(Glasgow Haskell Compiler).

Here is haskell_ghc_illustrated.pdf.

Contents

  • 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