# Category Theory

A mathematical theory of structures and systems of structures with a central role in theoretical computer science.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Yoneda Lemma in Double Categories

DevFeed: [Yoneda Lemma in Double Categories](<https://devfeed.tech/articles/yoneda-lemma-in-double-categories-28865.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/09/13/yoneda-lemma-in-double-categories/>)

Author: Bartosz Milewski

Published: 2026-09-13T12:23:31Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Profunctors](<https://devfeed.tech/topics/profunctors.md>), [String Diagrams](<https://devfeed.tech/topics/string-diagrams.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [double-category](<https://devfeed.tech/tags/double-category.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [kan-extensions](<https://devfeed.tech/tags/kan-extensions.md>), [proarrow-equipment](<https://devfeed.tech/tags/proarrow-equipment.md>), [profunctor-equipment](<https://devfeed.tech/tags/profunctor-equipment.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [string-diagrams](<https://devfeed.tech/tags/string-diagrams.md>), [yoneda-structure](<https://devfeed.tech/tags/yoneda-structure.md>)

### AI overview

The article explains how to formulate the Yoneda lemma in double categories without directly referring to presheaves or hom-sets. It uses profunctors, universal constructions, Kan extensions, tabulations, 2-cells, and string diagrams to describe the Yoneda embedding and its desired properties, including density and full faithfulness.

### Source excerpt

Working with double categories can be aptly summarized in a meme: Talk to me about sets without mentioning sets. We don't talk about hom-sets, we talk about horizontal units. Secretly, we are visualizing horizontal arrows as profunctors, and the unit of profunctor composition is a hom-functor. Presheaves are defined as -valued functors, so we immediately [...]

## Bending, Yanking, and Cartesian Squares in Double Categories

DevFeed: [Bending, Yanking, and Cartesian Squares in Double Categories](<https://devfeed.tech/articles/bending-yanking-and-cartesian-squares-in-double-categories-28857.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/05/18/bending-yanking-and-cartesian-squares-in-double-categories/>)

Author: Bartosz Milewski

Published: 2026-05-19T06:54:15Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Profunctor Equipment](<https://devfeed.tech/topics/profunctor-equipment.md>), [String Diagrams](<https://devfeed.tech/topics/string-diagrams.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [diagram](<https://devfeed.tech/tags/diagram.md>), [double-categories](<https://devfeed.tech/tags/double-categories.md>), [proarrow-equipment](<https://devfeed.tech/tags/proarrow-equipment.md>), [profunctor-equipment](<https://devfeed.tech/tags/profunctor-equipment.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [string-diagrams](<https://devfeed.tech/tags/string-diagrams.md>)

### AI overview

This article explains how string-diagram manipulations in double categories and proarrow equipment support yanking identities and the spider lemma, then introduces Cartesian squares as a universal construction in category theory.

### Source excerpt

Previously: Profunctor Equipment in Haskell. The major advantage of string diagrams is that they provide surprisingly natural language for complex diagram manipulations. The fact that two traditional diagrams are equal can be often described as a permission to bend, yank, or pinch strings in particular ways. They provide visual and often tactile clues to our [...]

## Category theory

DevFeed: [Category theory](<https://devfeed.tech/articles/category-theory-38635.md>)

Original publisher: [Read original article](<https://krossovochkin.com/posts/2020_04_26_category_theory/>)

Published: 2020-04-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Vasya Drobushkov](<https://devfeed.tech/sources/vasya-drobushkov.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [morphisms](<https://devfeed.tech/tags/morphisms.md>), [object](<https://devfeed.tech/tags/object.md>), [programming](<https://devfeed.tech/tags/programming.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

A personal synopsis of category theory covering categories, objects, morphisms, composition, universal constructions, order relations, monoids, terminal and initial objects, products, sums, and semirings. It also connects products and sums to programming concepts such as pairs, Either, and algebraic data types.

### Source excerpt

Source Disclaimer This is short synopsis of great set of lectures. What is written here is by no means true, one should refer to original lectures or some books etc. This is written mostly for myself in case I wanted to revisit the topic in the future. Everything below is not "what it is" but mostly "how I understood that". So, there might be mistakes and so on. Category Category consists of:

## The Universal Properties of Map, Fold, and Filter

DevFeed: [The Universal Properties of Map, Fold, and Filter](<https://devfeed.tech/articles/the-universal-properties-of-map-fold-and-filter-40331.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/09/30/the-universal-properties-of-map-fold-and-filter/>)

Published: 2013-09-30T09:00:53Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [functions](<https://devfeed.tech/topics/functions.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [foldr](<https://devfeed.tech/tags/foldr.md>), [free-object](<https://devfeed.tech/tags/free-object.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [functions](<https://devfeed.tech/tags/functions.md>), [list](<https://devfeed.tech/tags/list.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [programming](<https://devfeed.tech/tags/programming.md>), [standard-ml](<https://devfeed.tech/tags/standard-ml.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

This article gives category-theoretic characterizations of the functional programming functions map, fold, and filter. It argues that fold has the strongest universal characterization among the three and introduces a generalization related to transformations of standard compound data types.

### Source excerpt

A lot of people who like functional programming often give the reason that the functional style is simply more elegant than the imperative style. When compelled or inspired to explain (as I did in my old post, How I Learned to Love Functional Programming), they often point to the three "higher-order" functions map, fold, and filter, as providing a unifying framework for writing and reasoning about programs. But how unifying are they, really?

## Functoriality in Category Theory: Mappings That Preserve Morphisms

DevFeed: [Functoriality in Category Theory: Mappings That Preserve Morphisms](<https://devfeed.tech/articles/functoriality-40326.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/07/14/functoriality/>)

Published: 2013-07-14T10:03:29Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [coproducts](<https://devfeed.tech/tags/coproducts.md>), [functor](<https://devfeed.tech/tags/functor.md>), [homology](<https://devfeed.tech/tags/homology.md>), [ml](<https://devfeed.tech/tags/ml.md>), [morphisms](<https://devfeed.tech/tags/morphisms.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

This tutorial introduces functoriality in category theory. It explains functors as mappings between categories that assign objects and morphisms while preserving identity morphisms and composition, with homology as an example of a functorial construction.

### Source excerpt

Last time we worked through some basic examples of universal properties, specifically singling out quotients, products, and coproducts. There are many many more universal properties that we will mention as we encounter them, but there is one crucial topic in category theory that we have only hinted at: functoriality. As we've repeatedly stressed, the meat of category theory is in the morphisms. One natural question one might ask is, what notion of morphism is there between categories themselves?

## Universal Properties

DevFeed: [Universal Properties](<https://devfeed.tech/articles/universal-properties-40319.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/05/24/universal-properties/>)

Published: 2013-05-24T14:53:25Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [function](<https://devfeed.tech/topics/function.md>), [object](<https://devfeed.tech/topics/object.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [coproducts](<https://devfeed.tech/tags/coproducts.md>), [examples](<https://devfeed.tech/tags/examples.md>), [function](<https://devfeed.tech/tags/function.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [ml](<https://devfeed.tech/tags/ml.md>), [morphisms](<https://devfeed.tech/tags/morphisms.md>), [object](<https://devfeed.tech/tags/object.md>), [product](<https://devfeed.tech/tags/product.md>), [programming](<https://devfeed.tech/tags/programming.md>), [quotients](<https://devfeed.tech/tags/quotients.md>), [types](<https://devfeed.tech/tags/types.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

This tutorial introduces universal properties in category theory, defining initial, final, and zero objects through unique morphisms. It illustrates the concepts with examples from mathematics and Set, and discusses constructing programs related to these properties.

### Source excerpt

Previously in this series we've seen the definition of a category and a bunch of examples, basic properties of morphisms, and a first look at how to represent categories as types in ML. In this post we'll expand these ideas and introduce the notion of a universal property. We'll see examples from mathematics and write some programs which simultaneously prove certain objects have universal properties and construct the morphisms involved.

## Properties of Morphisms

DevFeed: [Properties of Morphisms](<https://devfeed.tech/articles/properties-of-morphisms-40318.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/05/15/properties-of-morphisms/>)

Published: 2013-05-15T12:43:42Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [epimorphism](<https://devfeed.tech/tags/epimorphism.md>), [examples](<https://devfeed.tech/tags/examples.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [monomorphism](<https://devfeed.tech/tags/monomorphism.md>), [morphisms](<https://devfeed.tech/tags/morphisms.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

A mathematical introduction to morphisms in category theory, focusing on isomorphisms and their role in describing when objects are considered the same. It defines isomorphisms and begins examining them in Set.

### Source excerpt

This post is mainly mathematical. We left it out of our introduction to categories for brevity, but we should lay these definitions down and some examples before continuing on to universal properties and doing more computation. The reader should feel free to skip this post and return to it later when the words "isomorphism," "monomorphism," and "epimorphism" come up again. Perhaps the most important part of this post is the description of an isomorphism.

## Introducing Categories

DevFeed: [Introducing Categories](<https://devfeed.tech/articles/introducing-categories-40314.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/24/introducing-categories/>)

Published: 2013-04-24T06:48:01Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

An introductory tutorial defines category theory and explains its purpose as a unified language for organizing mathematical structures across disciplines. It introduces examples and prepares readers for the formal definition of categories.

### Source excerpt

For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we'll see how the definitions laid out here translate to programming constructs. As we've said in our soft motivational post on categories, the point of category theory is to organize mathematical structures across various disciplines into a unified language.

## An Overview of Category Theory's Purpose in Mathematics and Programming

DevFeed: [An Overview of Category Theory's Purpose in Mathematics and Programming](<https://devfeed.tech/articles/categories-what-s-the-point-40313.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/16/categories-whats-the-point/>)

Published: 2013-04-16T18:00:09Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [functional](<https://devfeed.tech/tags/functional.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This introductory article explains category theory as a way to organize mathematical ideas by shared structure. It uses analogies to programming-language abstractions and discusses why programmers, particularly Haskell and functional-language developers, may be interested in category-theoretic concepts.

### Source excerpt

Perhaps primarily due to the prominence of monads in the Haskell programming language, programmers are often curious about category theory. Proponents of Haskell and other functional languages can put category-theoretic concepts on a pedestal or in a mexican restaurant, and their benefits can seem as mysterious as they are magical. For instance, the most common use of a monad in Haskell is to simulate the mutation of immutable data. Others include suspending and backtracking computations, and even untying tangled rope.

## A Sample of Standard ML, the TreeSort Algorithm, and Monoids

DevFeed: [A Sample of Standard ML, the TreeSort Algorithm, and Monoids](<https://devfeed.tech/articles/a-sample-of-standard-ml-the-treesort-algorithm-and-monoids-40310.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/07/a-sample-of-standard-ml-and-the-treesort-algorithm/>)

Published: 2013-04-07T21:57:37Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Standard ML](<https://devfeed.tech/topics/standard-ml.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [ml](<https://devfeed.tech/tags/ml.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [standard-ml](<https://devfeed.tech/tags/standard-ml.md>), [trees](<https://devfeed.tech/tags/trees.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

A tutorial introducing Standard ML through functional programming, category theory, and the TreeSort algorithm. It explains why ML is used for manually implementing category-theoretic ideas and highlights parametric polymorphism and type inference.

### Source excerpt

In this post we will assume the reader has a passing familiarity with some of the basic concepts of functional programming (the map, fold, and filter functions). We introduce these topics in our Racket primer, but the average reader will understand the majority of this primer without expertise in functional programming. Follow-ups to this post can be found in the Computational Category Theory section of the Main Content page. Preface: ML for Category Theory A few of my readers have been asking for more posts about functional languages and algorithms written in functional languages.