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: 80
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

Think Stats: Probability and Statistics for Programmers

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

Others related eBooks about Category Theory for Programmers

Making Games with Python & Pygame

Making Games with Python & Pygame covers the Pygame library with the source code for 11 ga..., download free Game Development tutorial in PDF (365 pages) created by ....

Pointers - C++ course

PDF course about C++ and pointers, free document in 65 pages....

Learning Java by Building Android Games

Android is the fastest growing operating system (OS) with one of the largest installed bas..., download free Java tutorial in PDF (392 pages) created by ....

Basic OOP in C++

Download C++ programming language courses about object-oriented programming (OOP), free training document in PDF by Eunsuk Kang and JeanYang....

R Language tutorial, The Basic Maniuplation

The purpose of this course is to provide a starting point for Interested in R language. It is useful For the beginner to assimilate certain notions and concepts in order to improve their knowledge....

Python Tutorial for Beginners in PDF

In this tutorial, we will introduce you to the basic concepts of Python programming in an informal manner....

Ruby Regexp

Download free course Ruby Regexp, pdf file on 72 pages by Sundeep Agarwal....

Graph Algorithms

Learn how graph algorithms can help you leverage relationships within your data to develop..., download free Algorithms tutorial in PDF (256 pages) created by Mark Needham ....

Learning amazon-dynamodb PDF course

Download free Amazon dynamodb tutorial course in PDF, training file in 6 chapters and 20 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

The Rook's Guide to C++

This Creative Commons-licensed textbook written by Norwich University students and faculty aims to provide an introduction to the C++ programming language. The PDF and original typesetting materials are available if you are interested in having a free digital copy of your own or if you wish to contr...