Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Category Theory for Programmers

by Bartosz Milewski

Category Theory for Programmers

Subscribe to new books via telegram channel

DescriptionTable of ContentsDetailsReport 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
Chapter 8
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
Chapter 19
Free/Forgetful Adjunctions
Chapter 20
Monads: Programmer's Definition
Chapter 21
Monads and Effects
Chapter 22
Monads Categorically
Chapter 23
Chapter 24
Chapter 25
Algebras for Monads
Chapter 26
Ends and Coends
Chapter 27
Kan Extensions
Chapter 28
Enriched Categories
Chapter 29
Chapter 30
Lawvere Theories
Chapter 31
Monads, Monoids, and Categories

Book Details

Category Theory for Programmers
Computer Science
ISBN13 Digital
ISBN10 Digital
PDF Size
16.3 MB

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....