The contribution of the paper is twofold. First, we define a general notion of type system equipped with an entailment relation between type environments; this generalisation serv...
Debugging is one of the essential parts of the software development cycle. However, the usual debugging techniques used in imperative languages such as the step by step execution ...
Current language mechanisms for concurrency are largely isolated to the domain of single programs. Furthermore, increasing interest in concurrent programming encourages further res...
In this paper we extend the model of program variables from the Refinement Calculus [2] in order to be able to reason more algebraically about recursive procedures with parameter...