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: 48
Created: 2022-02-01
License: CC BY-SA
Author(s): by Bartosz Milewski
Category Theory for Programmers

Others Programmers Tutorials

Category Theory for Programmers

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

Think Stats: Probability and Statistics for Programmers

Others related eBooks about Category Theory for Programmers

Ruby Hacking Guide

The Ruby Hacking Guide is a book that explains how the ruby interpreter (the official C implementation of the Ruby language) works internally. To fully understand it, you need a good knowledge of C and Ruby. This book is going to investigate ruby as a whole....

JavaScript If Else free PDF

Download free course JavaScript If Else free PDF, pdf file on 4 pages by

Defensive Database Programming with SQL Server

Download free course Defensive Database Programming with SQL Server, pdf file on 389 pages by Alex Kuznetsov....

Excel VBA Notes for Professionals

Download free course Excel VBA Notes for Professionals, pdf file on 127 pages by Stack Overflow Community....

GANs in Action: Deep Learning with Generative Adversarial Networks

Generative Adversarial Networks (GANs) are an incredible AI technology capable of creating images, sound, and videos that are indistinguishable from the real thing. By pitting two neural networks against each other, one to generate fakes and one to spot them, GANs rapidly learn to produce photo-real...

Introduction to PhoneGap

Download free course tutorial training about PhoneGap ,this document shows the basics of this platform in order to creat a web application designed to mobile devices....

Fortran 90/95 Programming Manual

Download Fortran 90/95 Programming Manual, free training course under 67 pages by Tanja van Mourik....

Tutorial: Creating a Database Application using Delphi

Tutorial: Creating a Database This tutorial guides you through the creation of an InterBase database application with which you can view and update a sample employee database. You will use the Delphi IDE to create the database application. ...

Python Multithreading free PDF

Download free course Python Multithreading free PDF, pdf file on 6 pages by

Mobile Apps developement with Apache Cordova

Downloaf a free Cordova course tutorial material for beginners to learn how to creat mobile application using this platfom, a PDF document by Hazem Saleh under 37 pages....