A program analysis is compositional when the analysis result for a particular program fragment is obtained solely from the results for its immediate subfragments via some composit...
In this paper we design a language and runtime support for isolation-only, multithreaded transactions (called tasks). Tasks allow isolation to be declared instead of having to be ...
Two different ways of defining ad-hoc polymorphic operations commonly occur in programming languages. With the first form polymorphic operations are defined inductively on the...
Haskell’s type system with multi-parameter constructor classes and functional dependencies allows static (compile-time) computations to be expressed by logic programming on the ...
Type-based termination is a semantically intuitive method that ensures termination of recursive definitions by tracking the size of datatype elements, and by checking that recursiv...