Separated and Shared Effects in Higher-Order Languages

Effectful programs interact in ways that go beyond simple input-output, making compositional reasoning challenging. Existing work has shown that when such programs are “separate”, i.e., when programs do not interfere with each other, it can be easier to reason about them. While reasoning about separated resources has been well-studied, there has been little work on reasoning about separated effects, especially for functional, higher-order programming languages. We propose two higher-order languages that can reason about sharing and separation in effectful programs. Our first language λ_INI has a linear type system and probabilistic semantics, where the two product types capture independent and possibly-dependent pairs. Our second language λ_INI^2 is two-level, stratified language, inspired by Benton's linear-non-linear (LNL) calculus. We motivate this language with a probabilistic model, but we also provide a general categorical semantics and exhibit a range of concrete models beyond probabilistic programming. We prove soundness theorems for all of our languages; our general soundness theorem for our categorical models of λ_INI^2 uses a categorical gluing construction.

READ FULL TEXT
research
03/21/2023

A more general categorical framework for congruence of applicative bisimilarity

We prove a general congruence result for bisimilarity in higher-order la...
research
02/09/2021

Native Type Theory

We present a method to construct "native" type systems for a broad class...
research
06/17/2015

Pragmatic Side Effects

In the quest to give a formal compositional semantics to natural languag...
research
05/16/2019

Effects Without Monads: Non-determinism – Back to the Meta Language

We reflect on programming with complicated effects, recalling an undeser...
research
07/17/2023

Modular Denotational Semantics for Effects with Guarded Interaction Trees

We present guarded interaction trees – a structure and a fully formalize...
research
03/11/2020

Local Local Reasoning: A BI-Hyperdoctrine for Full Ground Store

Modelling and reasoning about dynamic memory allocation is one of the we...

Please sign up or login with your details

Forgot password? Click here to reset