Reference. A theory of effects and resources: adjunction models and polarised calculi
Cite
Cited by (7)
Syntax and semantics of focalisation with relative monads and comonads mangel-2026-syntax
S4 modal sequent calculus as intermediate logic and intermediate language caspar-2026-s4
Classical Notions of Computation and the Hasegawa-Thielecke Theorem mangel-2026-classical
Linear Effects, Exceptions, and Resource Safety: A Curry-Howard Correspondence for Destructors congard-2026-linear
Notions of Stack-manipulating Computation and Relative Monads jiang_xue_new_2025
Monads provide a simple and concise interface to user-defined computational effects in functional programming languages. This enables equational reasoning about effects, abstraction over monadic interfaces and the development of monad transformer stacks to allow for multiple effects. Compiler implementors and assembly code programmers similarly virtualize effects, and would benefit from similar abstractions if possible. However, the implementation details of effects seem disconnected from the high-level monad interface: at this lower level much of the design is in the layout of the runtime stack, which is not accessible in a high-level programming language.
We demonstrate that the monadic interface can be faithfully adapted from high-level functional programming to a lower level setting with explicit stack manipulation. We use a polymorphic call-by-push-value (CBPV) calculus as a setting that captures the essence of stack-manipulation, with a type system that allows programs to define domain-specific stack structures. Within this setting, we show that the existing category-theoretic notion of a relative monad can be used to model the stack-based implementation of computational effects. To demonstrate generality, we adapt a variety of standard monads to relative monads. Additionally, we show that stack-manipulating programs can benefit from a generalization of do-notation we call “monadic blocks” that allow all CBPV code to be reinterpreted to work with an arbitrary relative monad. As an application, we show that all relative monads extend automatically to relative monad transformers, a process which is not automatic for monads in pure languages.
LNL polycategories and doctrines of linear logic shulman-2023-lnl
Resource Polymorphism munchmaccagnoni-2018-resource
Cites 49 works (9 here)
With notes (9)
Polarised Intermediate Representation of Lambda Calculus with Sums munchmaccagnoni-2015-polarised
Formulae-as-types for an involutive negation munchmaccagnoni-2014-formulae
Models of a Non-associative Composition munchmaccagnoni-2014-models
The Duality of Computation under Focus curien-2010-the
Focalisation and Classical Realisability munchmaccagnoni-2009-focalisation
On the unity of duality zeilberger-2008-on
A mixed linear and non-linear logic: Proofs, terms and models: Extended abstract bentonMixedLinearNonlinear1995
Linear logic girard_linear_1987
External (40)
- Syntax and Models of a non-Associative Composition of Programs and Proofs (PhD thesis) (2013)
- The enriched effect calculus: syntax and semantics (2012)
- The Blind Spot: Lectures on Logic (2011)
- Linearising Call-By-Push-Value (note) (2011)
- Resource modalities in tensor logic (2010)
- The logical basis of evaluation order (PhD thesis) (2009)
- Limits of small functors (2007)
- Compiling with continuations, continued (2007)
- A Language For Multiplicative-additive Linear Logic (2005)
- Adjunction models for Call-by-Push-Value with stacks (2005)
- A type-theoretic foundation of continuations and prompts (2004)
- Call-By-Push-Value: A Functional/Imperative Synthesis (2004)
- Call-by-value is dual to call-by-name (2003)
- Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types (2002)
- Etude de la polarisation en logique (Thèse de doctorat) (2002)
- Exceptional syntax (2001)
- Control categories and duality: on the categorical semantics of the lambda-mu calculus (2001)
- The duality of computation (2000)
- Direct Models of the Computational Lambda-calculus (1999)
- A new deconstructive logic: linear logic (1997)
- Premonoidal categories and notions of computation (1997)
- Linear logic, monads and the lambda calculus (1996)
- LKQ and LKT: sequent calculi for second order logic based upon dual linear decompositions of the classical implication (1995)
- What is a categorical model of Intuitionistic Linear Logic? (1995)
- A syntax for linear logic (1994)
- Lambda Calculi with Types (1993)
- The essence of compiling with continuations (1993)
- A term calculus for Intuitionistic Linear Logic (1993)
- Continuation Semantics or Expressing Implication by Negation (Tech. report) (1993)
- Logic Programming with Focusing Proofs in Linear Logic (1992)
- Linear continuations (1992)
- There's no substitute for linear logic (1992)
- A computational analysis of Girard's translation and LC (1992)
- Notions of computation and monads (1991)
- A new constructive logic: classic logic (1991)
- Computational lambda-calculus and monads (1989)
- A universal property of the convolution monoidal structure (1986)
- Basic Concepts of Enriched Category Theory (1982)
- Doctrinal adjunction (1974)
- On closed categories of functors (1970)