Category Theory for Programmers


Introduction

Why is category theory important?

Science is about agreement - it is easy to mistake being in agreement. The way to achieve consensus on an idea is to come back to the real world. When we formalize our ideas, out ideas and understanding of a thought at hand result in clarity. As there are universal languages for science such as calculus and visualizations, category theory is poised to provide another language to describe complex scientific understandings.

What are Ontology Logs?

Ontology Logs (ologs) - a diagram tool that depicts a system database schema explaining how data is collected.

What is Category Theory?

The study of basic conceptual building blocks and how they combine to create scientific models. It is a branch of mathematics that is particularly useful for communicating ideas between different parts of mathematics.

What are example use cases of category theory?

Initially it was designed to bridge topology and algebra. In 1957, Alexander Grothendieck used it to examine particular aspects of algebraic equations. Bill Lawvere posited category theory as the foundation for all mathematics - superseding set theory. In 1980, Joachim Lambek showed how computer programs can create novel categories. Eugenio Moggi translated the monad from category theory to computer science. Baez and Dolan have shown how it can be used in quantum physics. [1]

Where did Category Theory come from?

Invented in the 1940’s by Samuel Eilenberg and Saunders Mac Lane. It was designed to bridge topology and algebra. [2]

Where can category theory be applied by scientists?

What is a major problem for scientists today?

Conceptual chaos is a barrier to creativity as it requires clarity of thinking. Scientists are paid to think, to understand, and, most crucial of all, to communicate their findings.

References

[1]
David Spivak, Category Theory for Scientists, Old Version. 2013.
[2]
S. Mac Lane, Categories for the working mathematician, vol. 5. Springer Science & Business Media, 2013.