**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. ### Table of Contents

### Book Details

### Related Books

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

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

Title

Category Theory for Programmers

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

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

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

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

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

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