Category Theory for Programmers

by Bartosz Milewski

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming.

That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.

This open book is licensed under a Creative Commons License (CC BY-SA). You can download Category Theory for Programmers ebook for free in PDF format (16.3 MB).

Table of Contents

Chapter 1
Category: The Essence of Composition
 
Chapter 2
Types and Functions
 
Chapter 3
Categories Great and Small
 
Chapter 4
Kleisli Categories
 
Chapter 5
Products and Coproducts
 
Chapter 6
Simple Algebraic Data Types
 
Chapter 7
Functors
 
Chapter 8
Functoriality
 
Chapter 9
Function Types
 
Chapter 10
Natural Transformations
 
Chapter 11
Declarative Programming
 
Chapter 12
Limits and Colimits
 
Chapter 13
Free Monoids
 
Chapter 14
Representable Functors
 
Chapter 15
The Yoneda Lemma
 
Chapter 16
Yoneda Embedding
 
Chapter 17
It's All About Morphisms
 
Chapter 18
Adjunctions
 
Chapter 19
Free/Forgetful Adjunctions
 
Chapter 20
Monads: Programmer's Definition
 
Chapter 21
Monads and Effects
 
Chapter 22
Monads Categorically
 
Chapter 23
Comonads
 
Chapter 24
F-Algebras
 
Chapter 25
Algebras for Monads
 
Chapter 26
Ends and Coends
 
Chapter 27
Kan Extensions
 
Chapter 28
Enriched Categories
 
Chapter 29
Topoi
 
Chapter 30
Lawvere Theories
 
Chapter 31
Monads, Monoids, and Categories
 

Book Details

Subject
Computer Science
Publisher
Self-publishing
Published
2019
Pages
498
Edition
1
Language
English
ISBN13 Digital
9780464243878
ISBN10 Digital
0464243874
PDF Size
16.3 MB
License
CC BY-SA

Related Books

Foundations of Quantum Theory
This book studies the foundations of quantum theory through its relationship to classical physics. This idea goes back to the Copenhagen Interpretation (in the original version due to Bohr and Heisenberg), which the author relates to the mathematical formalism of operator algebras originally created by von Neumann. The book therefore includes compr...
International Reflections on the Netherlands Didactics of Mathematics
This book, inspired by the ICME 13 Thematic Afternoon on "European Didactic Traditions", takes readers on a journey with mathematics education researchers, developers and educators in eighteen countries, who reflect on their experiences with Realistic Mathematics Education (RME), the domain-specific instruction theory for mathematics educ...
Open Government
In a world where web services can make real-time data accessible to anyone, how can the government leverage this openness to improve its operations and increase citizen participation and awareness? Through a collection of essays and case studies, leading visionaries and practitioners both inside and outside of government share their ideas on how to...
Foundations of Software Science and Computation Structures
This book constitutes the proceedings of the 21st International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2018, which took place in Thessaloniki, Greece, in April 2018, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2018.The 31 papers presented in this volume were ca...
Statistical Learning and Sequential Prediction
This free book will focus on theoretical aspects of Statistical Learning and Sequential Prediction. Until recently, these two subjects have been treated separately within the learning community. The course will follow a unified approach to analyzing learning in both scenarios. To make this happen, we shall bring together ideas from probability and ...
Haskell Notes for Professionals
The Haskell Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....