Generalized algebraic data types (GADTs), sometimes known as "guarded recursive data types" or "first-class phantom types", are a simple but powerful generaliz...
Simon L. Peyton Jones, Dimitrios Vytiniotis, Steph...
Monads are a useful abstraction of computation, as they model diverse computational effects such as stateful computations, exceptions and I/O in a uniform manner. Their potential ...
Type-based amortised resource analysis following Hofmann and Jost--where resources are associated with individual elements of data structures and doled out to the programmer under ...
Abstract. Rely-guarantee is a well-established approach to reasoning about concurrent programs that use parallel composition. However, parallel composition is not how concurrency i...
Mike Dodds, Xinyu Feng, Matthew J. Parkinson, Vikt...
We formalise the data race free (DRF) guarantee provided by Java, as captured by the semi-formal Java Memory Model (JMM) [1] and published in the Java Language Specification [2]. ...