Overall structure
Techniques & libraries
Attribute Grammars
Extreme programming
Parsec
Lazy Virtual Machine
Constraint-based type inference
Intermediate data types
Unified Haskell Architecture
Core
Modules
Main
Compile
Front-end
Lexer
Layout-rule
Parser
Operators & priorities
Putting multiple functionbindings together
Static Analysis
Typeinference
Other static checks
Back-end
Case studies: enhancing the compiler
Adding a static check
Using another backend
Providing a new syntax
Inserting a better pattern-matching compiler
Appendices
AG by example