Category Theory, Monads, and Computation
Master level course, 4 ECTS. UR1 / ENS Rennes 2026/27 (sif)
Syllabus
The main objective of this course is to introduce a unifying, yet expressive and powerful, point of view to several constructs and structures, many of which the students have already seen. After presenting the basics of category theory, we will investigate the concept of monads in both its theoretical roots and practical use in programming languages. We hope that this course serves as an invitation for master students to enrich their toolbox with open-mindedness, elegance and curiosity.
Keywords Category Theory, Monads, Semantics, Functional Programming, Computation, λ-calculus
Pre-requisite
Licence in mathematics or theoretical computer science or equivalent degree. Functional programming, semantics, programming languages’ theory, logic. open-mindedness and curiosity.
Roadmap (tentative)
One classe per week: Friday 8–9:30AM.
Introduction – Rethinking Set Theory
- September 18 ETCS revisited (1/2)
- September 25 ETCS revisited (2/2)
Part 1: Basics of Category Theory
- October 9 Categories and Functors
- October 16 Natural transformations
- October 23 TD
- November 6 Adjoints
- November 13 Monads and Kleisli Categories
- November 20 Cartesian Closed Categories
- November 27 TD
Part 2: Types as Formulas
- December 4 Deductive systems
- December 11 Monads in programming languages
Exam
- December 18.
Evaluation
The final score will be composed of two marks:
- A written exam.
- All TDs will be marked.
Seminars
- TBA
Previous Exams
Bibliography
- Books
- William Lawvere, Stephen H. Schanuel. Conceptual Mathematics: A First Introduction to Categories. 1997, 2009
- Tom Leinster. Basic Category Theory. 2016 pdf
- Joachim Lambek, Philip J. Scott. Introduction to Higher-Order Categorical Logic. 1986
- Saunders Mac Lane, Categories for the Working Mathematician. 1972
- Papers
Office Hours
- For any request/question, feel free to email me (see address below)