Previous deforestation and supercompilation algorithms may introduce accidental termination when applied to call-by-value programs. This hides looping bugs from the programmer, an...
We present the design of a typed assembly language called TALT that supports heterogeneous tuples, disjoint sums, and a general account of addressing modes. TALT also implements t...
This paper presents a new programming language named SPARCL that has four major elements: it is a visual language, it is a logic programming language, it relies on sets to organiz...
Object-oriented programming techniques support construction of reusable and extensible code. However, class-based languages have poor support for implementing type-orthogonal beha...
A dataflow-based pointcut is proposed for aspect-oriented programming (AOP) languages. The pointcut specifies where aspects should be applied based on the origins of values. It is ...