|Version 12 (modified by simonmar, 9 years ago) (diff)|
Areas We'd Like To See Covered In More Depth
Possible presentation topics for Friday. If you'd like to see more on one of these, add your name to the line.
- How the renamer works
- How the type checker works
- How the simplifier works, and what transformations it does.
- How Template Haskell is implemented
- Packages, Cabal, and GHC
- Details of the GHC-as-a-library API, and how to use it.
Related: compiling multiple modules: --make and all that
- More details about vectored returns
- Details about System FC, GHC's new intermediate language
- Reading a nightly snapshot build log
Suggestions from the floor
- It would be quite interesting to hear what parts of GHC are changing rapidly and what parts seem quite stable. Also, into which corners of the compiler do the righteous fear to tread? (The evil mangler?)
- It is unclear how binding group analysis influences the use of 1 abstract syntax (HsSyn): how is the required ordering and grouping implemented, how does it affect error messages?
- How does this Cabal thing work?
- How to read a dailysnapshot build log.
- Does ghc compile with VisualHaskell yet?
- In the compiler pipeline, please explain a little more about the invariants as a program flows through the pipeline. For example, toward the back end, it would be useful to know at what point the following become known:
- layout of heap objects
- explicit heap pointer (allocation pointer)
- explicit stack pointer
- What optimizations happen in the simplifier? How do they work?
- The GHC API and implementation of GHCi
- A breakdown of the size of the various parts of the run-time system