Defunctionalization is a program transformation that aims to turn a higher-order functional program into a first-order one, that is, to eliminate the use of functions as first-cla...
Data structures with a hole, in other words data structures with an uninitialized field, are useful to write efficient programs: they enable us to construct functional data stru...
Building complex component-based software architectures can lead to subtle assemblage errors. In this paper, we introduce a typesystem-based approach to avoid message handling err...
Michael Lienhardt, Alan Schmitt, Jean-Bernard Stef...
We introduce a Hoare logic for higher-order functional languages with control operators such as callcc. The key idea is to build the assertion language and proof rules around an e...
The notion of program transformation is ubiquitous in programming language studies on interpreters, compilers, partial evaluators, etc. In order to implement a program transformat...