Reference. Separated and Shared Effects in Higher-Order Languages
Cite
Cites 42 works (5 here)
With notes (5)
Lilac: A Modal Separation Logic for Conditional Probability li-2023-lilac
A Higher-Order Language for Markov Kernels and Linear Operators amorim_2023_fossacs
Much work has been done to give semantics to probabilistic programming languages. In recent years, most of the semantics used to reason about probabilistic programs fall in two categories: semantics based on Markov kernels and semantics based on linear operators.
Both styles of semantics have found numerous applications in reasoning about probabilistic programs, but they each have their strengths and weaknesses. Though it is believed that there is a connection between them there are no languages that can handle both styles of programming.
In this work we address these questions by defining a two-level calculus and its categorical semantics which makes it possible to program with both kinds of semantics. From the logical side of things we see this language as an alternative resource interpretation of linear logic, where the resource being kept track of is sampling instead of variable use.
Glueing and orthogonality for models of linear logic hyland_glueing_2003
The logic of bunched implications ohearn_pym_bi_1999
A mixed linear and non-linear logic: Proofs, terms and models: Extended abstract bentonMixedLinearNonlinear1995
External (37)
- Classical Linear Logic in Perfect Banach Spaces (2022)
- A separation logic for negative dependence (2022)
- Pirouette: higher-order typed functional choreographies (2022)
- A bunched logic for conditional independence (2021)
- A Programming Language for Data Privacy with Accuracy Estimations (2021)
- Structural foundations for probabilistic programming languages (2021)
- A synthetic approach to Markov kernels, conditional independence and theorems on sufficient statistics (2020)
- Probabilistic Relational Reasoning via Metrics (2019)
- A Probabilistic Separation Logic (2019)
- Quantitative separation logic: a logic for reasoning about probabilistic pointer programs (2019)
- Disintegration and Bayesian inversion via string diagrams (2019)
- Probabilistic Termination by Monadic Affine Sized Typing (2019)
- A language for probabilistically oblivious computation (2019)
- Probabilistic call by push value (2019)
- Borel kernels and their approximation, categorically (2018)
- Full Abstraction for Probabilistic PCF (2018)
- Measurable cones and stable, measurable functions: a model for probabilistic higher-order programming (2017)
- Foundations of Session Types and Behavioural Contracts (2016)
- Basic category theory (2014)
- Categories for the working mathematician (2013)
- Probabilistic coherence spaces as a model of higher-order probabilistic computation (2011)
- A new lambda calculus for bunched implications (2011)
- Distance makes the types grow stronger: a calculus for differential privacy (2010)
- Quasitoposes, quasiadhesive categories and Artin glueing (2007)
- Separation logic and concurrent resource management (2007)
- Possible worlds and resources: the semantics of BI (2004)
- On bunched typing (2003)
- Call-by-push-value (2001)
- Local Reasoning about Programs that Alter Data Structures (2001)
- Balls and bins: A study in negative dependence (1998)
- Categorical models for local names (1996)
- Handbook of Categorical Algebra: Volume 2, Categories and Structures (1994)
- Categories for types (1993)
- Recursive types in Kleisli categories (1992)
- Notions of Computation and Monads (1991)
- Graphoids: Graph-Based Logic for Reasoning about Relevance Relations or When would x tell you more about y if you already know z? (1986)
- Weak adjoint functors (1971)