Defunctionalization
解説
圏論で有名なBartosz Milewskiの解説
Defunctionalization and Freyd’s Theorem Replacing functions with data
実装
Refactoring a lambda calculus interpreter into a stack machine, in Haskell code
λ計算のインタープリタをCPSからDefunctionalizationを使ったものへ、さらにスタックを使ったものへと実際にやりながら解説してくれる神動画