Category Theory for Programmers

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

  • Category: The Essence of Composition
  • Types and Functions
  • Categories Great and Small
  • Kleisli Categories
  • Products and Coproducts
  • Simple Algebraic Data Types
  • Functors
  • Functoriality
  • Function Types
  • Natural Transformations
  • Declarative Programming
  • Limits and Colimits
  • Free Monoids
  • Representable Functors
  • The Yoneda Lemma
  • Yoneda Embedding
  • It's All About Morphisms
  • Adjunctions
  • Free/Forgetful Adjunctions
  • Monads: Programmer's Definition
  • Monads and Effects
  • Monads Categorically
  • Comonads
  • F-Algebras
  • Algebras for Monads
  • Ends and Coends
  • Kan Extensions
  • Enriched Categories
  • Topoi
  • Lawvere Theories
  • Monads, Monoids, and Categories
Pages : 498
Size : 16.3 MB
File type : PDF
Downloads: 65
Created: 2022-02-01
License: CC BY-SA
Author(s): by Bartosz Milewski
Category Theory for Programmers

Others Programmers Tutorials

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Category Theory for Programmers

Think Stats: Probability and Statistics for Programmers

Others related eBooks about Category Theory for Programmers

TypeScript eBook for professionals

Download free TypeScript tutorial course in PDF, training file in 30 chapters and 97 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

VB.NET for beginners

This document is a VB.NET training tutorial for beginners who wants to learn the dot net platform with Visual Basic ,it's a free courses in PDF under 243 pages for download....

C++ Pointers and Memory

This document explains how pointers and memory work and how to use them—from the basic concepts through all the major programming techniques. For each topic there is a combination of discussion, sample C code, and drawings....

How to Build a SharePoint Website

Download free SharePoint tutorial in pdf, training document on 11 pages for beginners....

Ruby On Rails Programming Tutorial

Download free Ruby On Rails tutorial course in PDF, training file in 73 chapters and 231 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Practices of the Python Pro

Download free course Practices of the Python Pro, pdf file on 248 pages by Dane Hillard....

Fundamentals of Python Programming

Download free course Fundamentals of Python Programming, pdf file on 669 pages by Richard L. Halterman....

How To Think Like A Computer Scientist: C++ Version

The goal of this book is to teach you to think like a computer scientist, using C++ as the programming language. ...

Fast Lane to Python

This book aims to enable the reader to quickly acquire a Python foundation. The material particularly feel quite comfortable to anyone with background in an object-oriented programming (OOP) language such as C++ or Java....

Problem Solving with Algorithms and Data Structures Using Python

This books is about computer science. It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The onl...