kirancodes.me
To Proof Maintenance & Beyond!

Defunctionalization with Dependent Types

Yulong Huang, Jeremy Yallop

Abstract

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied.

We present the first formally-specified defunctionalization translation for a dependently-typed language and establish key metatheoretical properties such as soundness and type preservation. The translation is suitable for incorporation into type-preserving compilers for dependently-typed languages

Related papers