Reference. Applicative programming with effects
Cite
Cited by (26)
Modular models of monoids with operations by lifting functors along fibrations yang-2026-modular
Normalization for multimodal type theory gratzer-2026-normalization
A Modal Deconstruction of Löb Induction gratzer-2025-a
Unifying cubical and multimodal type theory aagaard-2024-unifying
Profunctor Optics, a Categorical Update clarke-2024-profunctor
Modular Models of Monoids with Operations yang-2023-modular
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.
Symbolic and automatic differentiation of languages elliottSymbolicAutomaticDifferentiation2021
Multimodal Dependent Type Theory gratzerNutyzBirkedal2021
A type- and scope-safe universe of syntaxes with binding: their semantics and proofs allais-2021-a
Algorithmics bird-2021-algorithmics
Zippy LL(1) parsing with derivatives EdelmannZippy2020
Doo bee doo bee doo convent-2020-doo
Implementing a modal dependent type theory gratzer-2019-implementing
A typed, algebraic approach to parsing krishnaswami_typed_2019
What you needa know about Yoneda: profunctor optics and the Yoneda lemma (functional pearl) boisseau-2018-what
Relational algebra by way of adjunctions gibbons-2018-relational
Guarded Cubical Type Theory birkedal-2018-guarded
agdarsec — total parser combinators allais_2018
Profunctor Optics: Modular Data Accessors pickering-2017-profunctor
Do be do be do lindley-2017-do
Productive coprogramming with guarded recursion atkey-2013-productive
The semantics of parsing with semantic actions atkey_2012
Total parser combinators danielssonTotalParserCombinators2010
A monadic parser combinator library which guarantees termination of parsing, while still allowing many forms of left recursion, is described. The library’s interface is similar to those of many other parser combinator libraries, with two important differences: one is that the interface clearly specifies which parts of the constructed parsers may be infinite, and which parts have to be finite, using dependent types and a combination of induction and coinduction; and the other is that the parser type is unusually informative.
The library comes with a formal semantics, using which it is proved that the parser combinators are as expressive as possible. The implementation is supported by a machine-checked correctness proof.
The essence of the Iterator pattern gibbons-2009-the
Datatype-Generic Programming gibbons-2007-datatype
Cites 12 works (0 here)
External (12)
- Parsing permutation phrases (2004)
- Haskell 98 Language and Libraries: The Revised Report (2003)
- Arrows for errors: extending the error monad (2002)
- Do we need dependent types? (2000)
- Generalising monads to arrows (2000)
- Domain specific embedded compilers (1999)
- Monadic parsing in Haskell (1998)
- Premonoidal categories and notions of computation (1997)
- Deterministic, error-correcting combinator parsers (1996)
- Garbage collection and memory efficiency in lazy functional languages (1995)
- How to replace failure by a list of successes (1985)
- Toposes, Triples and Theories (1984)