Also worth checking out is this https://www.youtube.com/watch?v=uR_VzYxvbxg conference talk by Simon Peyton Jones discussing the basic constructs of GHC core and how they affect inlining and optimisation
Yes, i was lucky enough to be in the audience at St Andrews in about 1986 when he came to talk to us about parallel combinator reduction, G-machines and Alice.
I still think it is a pity that GHC isn't much better documented. It could be a huge education and research platform, with a much wider reach than the small group currently versed in GHC internals.
It is a huge education and research platform. There are many many papers every year developing new ideas in GHC. Look at the massive cottage industry in Haskell language extensions implemented in GHC.
> A major issue for any compiler, especially for one that inlines heavily, is name capture
What? If you inline just one block of code in a million lines of code (i.e. you "inline with the dainty lightness of a frolicking fairy"), and that situation is wrong due to a name capture, you have a bug, which could stop the show.