https://twitter.com/nfunato/status/724555579377635328 の続き:
@phaendal さん
クロージャ変換は通常CPS変換やA正規化の後段に来るクロージャ変数をレジスタ割付けする準備の変換です。古来色んな論文等があります。
クロージャ変換のwikipediaは、https://en.wikipedia.org/wiki/Lambda_lifting にredirectされますが、少し読みにくそうですね。例えば http://matt.might.net/articles/closure-conversion/ などが軽めのようです。これを読むには http://matt.might.net/articles/cps-conversion/ や 両者のMoreResourcesを読みたいかもしれません。どちらも IR上の変換/最適化になります。(この辺で3impとは相容れないかもしれない)
上記で、IRは https://en.wikipedia.org/wiki/Intermediate_representation ですね。住井先生のMin-Camlとその解説もいいかも。これにはA正規形(ANF)と類似のK正規形が出てきます。因みにこの辺のIRでは、letは原始式にしてlambdaで表さないかもしれません。ANFとか正にそういうものです
他には、Haskellに馴染みがあるなら http://jozefg.bitbucket.org/archive.html (CMUの学生さんらしいです)にある http://jozefg.bitbucket.org/posts/2014-06-07-c-of-scheme.html も短くていいかもしれません。