PLS Lab

Defunctionalization

Defunctionalization (shorthand: d17n) is an automatic, whole-program transformation that removes higher-order functions from a functional program.

D17n can be used as an implementation technique: applying it to a higher-order definitional interpreter leads to a program that looks a lot like an abstract machine.

References