Write a GHC extension in 30 minutes - Richard Eisenberg

Talk: https://www.youtube.com/watch?v=bhhE2DxbrJM&feature=youtu.be

A high level overview of GHC’s frontend

String – lexer & parser –> HsSyn GhcPs – Renamer –> HsSyn GhcRn – type checker –> HsSyn GhcTc – desugarer –> CoreExpr – middle & backend –> Generate code on whatever parts we’re on

GhcPs are stuff that’s parsed by GHC

Extra readings: http://aosabook.org/en/ghc.html https://gitlab.haskell.org/ghc/ghc/-/wikis/home https://www.microsoft.com/en-us/research/uploads/prod/2016/11/trees-that-grow.pdf