nt programs require high-level abstractions in order to manage complexity and enable compositional reasoning. In this paper, we introduce a novel concurrency abstraction, dubbed t...
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...
In recent times information flow and non-interference have become very popular concepts for expressing both integrity and privacy properties. We present the first general definitio...
Speculative execution is an important technique that has historically been used to extract concurrency from sequential programs. While techniques to support speculation work well ...
Lukasz Ziarek, Suresh Jagannathan, Matthew Fluet, ...
Standard analysis on recursive data structures restrict their attention to shape properties (for instance, a program that manipulates a list returns a list), excluding properties t...