English

Separated and Shared Effects in Higher-Order Languages

Programming Languages 2023-03-06 v1 Logic in Computer Science

Abstract

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\lambda_{\text{INI}} has a linear type system and probabilistic semantics, where the two product types capture independent and possibly-dependent pairs. Our second language λINI2\lambda_{\text{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 λINI2\lambda_{\text{INI}}^2 uses a categorical gluing construction.

Keywords

Cite

@article{arxiv.2303.01616,
  title  = {Separated and Shared Effects in Higher-Order Languages},
  author = {Pedro H. Azevedo de Amorim and Justin Hsu},
  journal= {arXiv preprint arXiv:2303.01616},
  year   = {2023}
}
R2 v1 2026-06-28T08:58:24.938Z