An important implementation decision in polymorphically typed functional programming languages is whether to represent data in boxed or unboxed form and when to transform them fro...
Reasoning about imperative programs requires the ability to track aliasing and ownership properties. We present a type system that provides this ability, by using regions, capabil...
This paper explains how the high-level treatment of datatypes in functional languages--using features like constructor functions and pattern matching--can be made to coexist with ...
A for-loop is somewhat similar to an inductive argument. Just as the truth of a proposition P(n + 1) depends on the truth of P(n), the correctness of iteration n+1 of a for-loop de...
Recently, object-oriented languages, such as C , have been extended with language features prevalent in most functional languages: parametric polymorphism and higher-order function...