English
Related papers

Related papers: Accessible bridge between category theory and func…

200 papers

Monads are a useful tool for structuring effectful features of computation such as state, non-determinism, and continuations. In the last decade, several generalisations of monads have been suggested which provide a more fine-grained model…

Programming Languages · Computer Science 2020-05-04 Dominic Orchard , Philip Wadler , Harley Eades

This is a draft of the textbook/monograph that presents computability theory using string diagrams. The introductory chapters have been taught as graduate and undergraduate courses and evolved through 8 years of lecture notes. The later…

Logic in Computer Science · Computer Science 2023-03-29 Dusko Pavlovic

Monads govern computational side-effects in programming semantics. They can be combined in a ''bottom-up'' way to handle several instances of such effects. Indexed monads and graded monads do this in a modular way. Here, instead, we equip…

Logic in Computer Science · Computer Science 2021-08-05 Carmen Constantin , Nuiok Dicaire , Chris Heunen

Inference algorithms for probabilistic programming are complex imperative programs with many moving parts. Efficient inference often requires customising an algorithm to a particular probabilistic model or problem, sometimes called…

Programming Languages · Computer Science 2024-12-24 Minh Nguyen , Roly Perera , Meng Wang , Steven Ramsay

There are many books designed to introduce category theory to either a mathematical audience or a computer science audience. In this book, our audience is the broader scientific community. We attempt to show that category theory can be…

Category Theory · Mathematics 2013-09-19 David I. Spivak

Emerging computational paradigms, such as probabilistic and hybrid programming, introduce new primitive operations that often need to be combined with classic programming constructs. However, it still remains a challenge to provide a…

Logic in Computer Science · Computer Science 2018-04-13 Fredrik Dahlqvist , Renato Neves

We present our position on the elusive quest for a general-purpose framework for specifying and studying deep learning architectures. Our opinion is that the key attempts made so far lack a coherent bridge between specifying constraints…

Machine Learning · Computer Science 2024-06-07 Bruno Gavranović , Paul Lessard , Andrew Dudzik , Tamara von Glehn , João G. M. Araújo , Petar Veličković

The concept of category from mathematics happens to be useful to computer programmers in many ways. Unfortunately, all "good" explanations of categories so far have been designed by mathematicians, or at least theoreticians with a strong…

Logic in Computer Science · Computer Science 2014-07-22 Raphael Poss

In functional programming, monads are supposed to encapsulate computations, effectfully producing the final result, but keeping to themselves the means of acquiring it. For various reasons, we sometimes want to reveal the internals of a…

Programming Languages · Computer Science 2012-02-15 Maciej Piróg , Jeremy Gibbons

The idea of functional programming has played a big role in shaping today's landscape of mainstream programming languages. Another concept that dominates the current programming style is Dijkstra's structured programming. Both concepts have…

Programming Languages · Computer Science 2011-02-11 Steven Obua

Applied category theory often studies symmetric monoidal categories (SMCs) whose morphisms represent open systems. These structures naturally accommodate complex wiring patterns, leveraging (co)monoidal structures for splitting and merging…

Category Theory · Mathematics 2025-09-03 Marius Furter , Yujun Huang , Gioele Zardini

Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…

Programming Languages · Computer Science 2026-01-08 Ivan Perez , Angel Herranz

Applied category theory often studies symmetric monoidal categories (SMCs) whose morphisms represent open systems. These structures naturally accommodate complex wiring patterns, leveraging (co)monoidal structures for splitting and merging…

Category Theory · Mathematics 2026-03-11 Marius Furter , Yujun Huang , Gioele Zardini

Freer monads are a useful structure commonly used in various domains due to their expressiveness. However, a known issue with freer monads is that they are not amenable to static analysis. This paper explores freer arrows, a relatively…

Programming Languages · Computer Science 2025-06-17 Grant VanDomelen , Gan Shen , Lindsey Kuper , Yao Li

The modern theory of functional programming languages uses monads for encoding computational side-effects and side-contexts, beyond bare-bone program logic. Even though quantum computing is intrinsically side-effectful (as in quantum…

Quantum Physics · Physics 2025-10-07 Hisham Sati , Urs Schreiber

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

Monoidal computer is a categorical model of intensional computation, where many different programs correspond to the same input-output behavior. The upshot of yet another model of computation is that a categorical formalism should provide a…

Logic in Computer Science · Computer Science 2023-11-03 Dusko Pavlovic , Muzamil Yahia

This manuscript gives a category-theoretic foundation to the composition of State Threads as a Foundation for Monadic Dataflow Parallelism. It serves as a supplementary formalization of the concepts introduced in the Article "STCLang: State…

Programming Languages · Computer Science 2019-08-12 Sebastian Ertel , Justus Adam , Norman A. Rink , Andrés Goens , Jeronimo Castrillon

We describe a method for deepening a student's understanding of basic physics by asking the student to express physical ideas in a functional programming language. The method is implemented in a second-year course in computational physics…

Computers and Society · Computer Science 2014-12-17 Scott N. Walck

Free monads (and their variants) have become a popular general-purpose tool for representing the semantics of effectful programs in proof assistants. These data structures support the compositional definition of semantics parameterized by…

Programming Languages · Computer Science 2022-07-28 Yao Li , Stephanie Weirich