Data-layout optimizations rearrange fields within objects, objects within objects, and objects within the heap, with the goal of increasing spatial locality. While the importance ...
Probability distributions are useful for expressing the meanings of probabilistic languages, which support formal modeling of and reasoning about uncertainty. Probability distribu...
Some compilation systems, such as offline partial evaluators and selective dynamic compilation systems, support staged optimizations. A staged optimization is one where a logicall...
Matthai Philipose, Craig Chambers, Susan J. Eggers
Functional logic overloading is a novel approach to userdefined overloading that extends Haskell's concept of type classes in significant ways. Whereas type classes are conce...
Matthias Neubauer, Peter Thiemann, Martin Gasbichl...
In this paper we propose a scheme that combines type inference and run-time checking to make existing C programs type safe. We describe the CCured type system, which extends that ...
Dataflow analyses can have mutually beneficial interactions. Previous efforts to exploit these interactions have either (1) iteratively performed each individual analysis until no...
Many classical compiler optimizations can be elegantly expressed using rewrite rules of form: I = I if , where I, I are intermediate language instructions and is a property expre...
David Lacey, Neil D. Jones, Eric Van Wyk, Carl Chr...
We present a new role system in which the type (or role) of each object depends on its referencing relationships with other objects, with the role changing as these relationships ...
It is an important criterion of program correctness that a program accesses resources in a valid manner. For example, a memory region that has been allocated should be eventually ...