Distributed-memory programs are often written using a global address space: any process can name any memory location on any processor. Some languages completely hide the distincti...
useful for optimizing compilers [15], partial evaluators [11], abstract debuggers [1], models-checkers [2], formal verifiers [13], etc. The difficulty of the task comes from the fa...
We present a module calculus for studying a simple model of link-time compilation. The calculus is stratified into a term calculus, a core module calculus, and a linking calculus. ...
We consider some issues in optimizing persistent programming languages. In particular, we show how to express optimizations of object residency checks in strongly typed persistent...
re a popular form of abstract computation. Being more general than monads, they are more broadly applicable, and in parare a good abstraction for signal processing and dataflow co...