A survey on parallelism and determinism
Parallelism is often required for performance. In these situations an excess of non-
determinism is harmful as it means the program can have several different behaviours or …
determinism is harmful as it means the program can have several different behaviours or …
RustHornBelt: a semantic foundation for functional verification of Rust programs with unsafe code
Rust is a systems programming language that offers both low-level memory operations and
high-level safety guarantees, via a strong ownership type system that prohibits mutation of …
high-level safety guarantees, via a strong ownership type system that prohibits mutation of …
Idris 2: Quantitative type theory in practice
E Brady - arxiv preprint arxiv:2104.00480, 2021 - arxiv.org
Dependent types allow us to express precisely what a function is intended to do. Recent
work on Quantitative Type Theory (QTT) extends dependent type systems with linearity, also …
work on Quantitative Type Theory (QTT) extends dependent type systems with linearity, also …
Quantitative program reasoning with graded modal types
In programming, some data acts as a resource (eg, file handles, channels) subject to usage
constraints. This poses a challenge to software correctness as most languages are agnostic …
constraints. This poses a challenge to software correctness as most languages are agnostic …
Polymorphic reachability types: Tracking freshness, aliasing, and separation in higher-order generic programs
Fueled by the success of Rust, many programming languages are adding substructural
features to their type systems. The promise of tracking properties such as lifetimes and …
features to their type systems. The promise of tracking properties such as lifetimes and …
Predictable accelerator design with time-sensitive affine types
Field-programmable gate arrays (FPGAs) provide an opportunity to co-design applications
with hardware accelerators, yet they remain difficult to program. High-level synthesis (HLS) …
with hardware accelerators, yet they remain difficult to program. High-level synthesis (HLS) …
A graded modal dependent type theory with a universe and erasure, formalized
We present a graded modal type theory, a dependent type theory with grades that can be
used to enforce various properties of the code. The theory has Π-types, weak and strong Σ …
used to enforce various properties of the code. The theory has Π-types, weak and strong Σ …
A unified view of modalities in type systems
We propose to unify the treatment of a broad range of modalities in typed lambda calculi. We
do so by defining a generic structure of modalities, and show that this structure arises …
do so by defining a generic structure of modalities, and show that this structure arises …
A graded dependent type system with a usage-aware semantics
Graded Type Theory provides a mechanism to track and reason about resource usage in
type systems. In this paper, we develop GraD, a novel version of such a graded dependent …
type systems. In this paper, we develop GraD, a novel version of such a graded dependent …
Oxidizing OCaml with modal memory management
Programmers can often improve the performance of their programs by reducing heap
allocations: either by allocating on the stack or reusing existing memory in-place. However …
allocations: either by allocating on the stack or reusing existing memory in-place. However …