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

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

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

Getting started with Scratch programming

SCRATCH is a programming language that lets you create your own interactive stories, animations, games, music, and art. Download this PDF tutorial about programming with Scratch to learn how to create your first amazing animation or games step by step....

C++ Exercices with solutions

Download free document in PDF about C++ language, exercices and solutions for beginners and intermediate level students....

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

Python for Everybody

This book assumes that everyone needs to know how to program, and that once you know how to program you will figure out what you want to do with your newfound skills. Download free ebook intituled Python for Everybody, creative commons document...

C# : Practical Guide for Programmers

Download a free Csharp tutorial in PDF by Michel de Champlain .A complet training document under 262 pages for intermediate level-users....

C Programming for Arduino

Physical computing allows us to build interactive physical systems by using software &..., download free C Programming tutorial in PDF (512 pages) created by Julien Bayle ....

Raspberry Pi Camera Guide

Download free course Raspberry Pi Camera Guide, pdf file on 132 pages by Dan Aldred, Wesley Archer, Jody Carter, PJ Evans, Richard Hayler, James Singleton, Rob Zwetsloot....

Graph Algorithms

Download free course Graph Algorithms, pdf file on 257 pages by Mark Needham, Amy Hodler....

Microservices Best Practices for Java

Download free course Microservices Best Practices for Java, pdf file on 134 pages by Michael Hofmann, Erin Schnabel, Katherine Stanley....

Prolog tutorial in PDF

Download free Prolog tutorial course in PDF, training file in 17 chapters and 51 pages. Free unaffiliated ebook created from Stack OverFlow contributor....