Table of Contents
Fetching ...

Category Theory for Programming

Benedikt Ahrens, Kobe Wullaert

TL;DR

This work studies initial algebras, which provide a mathematical characterization of datatypes and recursive functions on them, and monads, which give a mathematical framework for effects in functional languages.

Abstract

In these lecture notes, we give a brief introduction to some elements of category theory. The choice of topics is guided by applications to functional programming. Firstly, we study initial algebras, which provide a mathematical characterization of datatypes and recursive functions on them. Secondly, we study monads, which give a mathematical framework for effects in functional languages. The notes include many problems and solutions.

Category Theory for Programming

TL;DR

This work studies initial algebras, which provide a mathematical characterization of datatypes and recursive functions on them, and monads, which give a mathematical framework for effects in functional languages.

Abstract

In these lecture notes, we give a brief introduction to some elements of category theory. The choice of topics is guided by applications to functional programming. Firstly, we study initial algebras, which provide a mathematical characterization of datatypes and recursive functions on them. Secondly, we study monads, which give a mathematical framework for effects in functional languages. The notes include many problems and solutions.
Paper Structure (37 sections, 13 theorems, 207 equations)

This paper contains 37 sections, 13 theorems, 207 equations.

Key Result

Lemma 4

The data of $\mathbf{Set}$ satisfies the properties of a category; hence $\mathbf{Set}$ is indeed a category.

Theorems & Definitions (98)

  • Definition 1
  • Example 3
  • Lemma 4
  • proof
  • Example 5
  • Example 7
  • Definition 9
  • Example 10
  • Remark 12
  • Example 13
  • ...and 88 more