Run-time type dispatch enables a variety of advanced optimization techniques for polymorphic languages, including tag-free garbage collection, unboxed function arguments, and fla...
The aim of this paper is to understand the interplay between intersection, universally quantified, and reference types. Putting together the standard typing rules for intersection,...
We present an approach to type theory in which the typing judgments do not have explicit contexts. Instead of judgments of the shape A : B, our systems just have judgments of the ...
Herman Geuvers, Robbert Krebbers, James McKinna, F...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By typechecking the code produced at each transformation stage, one can identify...
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...