Software systems are increasingly being built as compositions of reusable artifacts (components, frameworks, toolkits, plug-ins, APIs, etc) that have non-trivial usage constraints...
An important step in the development of large-scale distributed reactive systems is the design of effective system architectures. The early availability of prototypes facilitates...
We describe an approach to automatic parallelisation of programs written in Sieve C++ (Codeplay’s C++ extension), using the Sieve compiler and runtime system. In Sieve C++, the p...
Alastair F. Donaldson, Colin Riley, Anton Lokhmoto...
Abstract. To produce a program guaranteed to satisfy a given specification one can synthesize it from a formal constructive proof that a computation satisfying that specification...
Mark Bickford, Robert L. Constable, Joseph Y. Halp...
We develop an explicit two level system that allows programmers to reason about the behavior of effectful programs. The first level is an ordinary ML-style type system, which conf...