Applied category theory is the use of the abstract mathematical language of category theory to model, analyze, and solve problems outside of pure mathematics. Where category theory proper studies mathematical structures and the relationships between them at a high level of generality, applied category theory takes those same tools—objects, morphisms, functors, natural transformations, and the like—and puts them to work on concrete questions in fields such as computer science, physics, biology, economics, linguistics, and engineering. The field is not a single method but a family of practices united by a shared conviction: that the categorical habit of thinking in terms of structure-preserving maps and compositional relationships can clarify domains where complex systems are built from simpler parts.
The foundational concept of category theory, and the one that most directly motivates its applications, is composition. A category consists of objects and arrows (called morphisms) between them, together with a rule for composing arrows: if there is an arrow from A to B and an arrow from B to C, there must be a way to get an arrow from A to C. This simple axiom captures something profound. Whenever a system can be described as a collection of parts with specified interfaces, and whenever those parts can be connected in sequence or in parallel, a categorical description can make the structure of that connectivity explicit.
Applied category theory leans heavily on this idea. The central question is often: How does the behavior of a whole system relate to the behavior of its parts, and how can we reason about that relationship systematically? This question arises in many guises. In programming, a function that transforms data of type A into data of type B can be composed with a function from B to C to yield a function from A to C; the categorical language of types and functions gives a precise account of how programs compose. In physics, a process that takes a system in one state to another state can be composed with a subsequent process, and the categorical formalism of symmetric monoidal categories captures the idea that processes can be run in sequence or in parallel. In database theory, a schema can be viewed as a category, and a database instance as a functor from that schema to the category of sets; queries then become natural transformations or adjunctions.
This emphasis on compositionality is what distinguishes applied category theory from other mathematical approaches to the same domains. A differential equation, for example, describes how a system evolves continuously, but it does not naturally tell you how to combine two systems into a larger one. A categorical model, by contrast, is built around the very notion of combination. The payoff is a kind of modular reasoning: if you understand the parts and the rules for connecting them, you can understand the whole without re-deriving everything from scratch.
Category theory was invented in the 1940s by Samuel Eilenberg and Saunders Mac Lane as a tool for organizing mathematical knowledge, particularly in algebraic topology. For decades it remained a branch of pure mathematics, used mainly by mathematicians to clarify relationships between algebraic and topological structures. The idea that categorical methods might be useful outside mathematics emerged gradually, beginning in the 1960s and 1970s, when computer scientists started using category theory to model programming languages and logical systems. The work of Joachim Lambek on categorical logic and of the computer scientist Eugenio Moggi on monads as a way to structure computational effects were early landmarks. By the 1980s, a substantial community of computer scientists was using categorical ideas, and the term "applied category theory" began to appear in that context.
A second wave of application came from mathematical physics, particularly through the work of John Baez and his collaborators in the 1990s and 2000s. Baez argued that physical theories, especially those involving quantum mechanics and quantum field theory, could be understood as categories whose objects are physical systems and whose morphisms are physical processes. This perspective, sometimes called the "categorical approach to physics," drew on the fact that quantum processes can be composed in sequence and in parallel, and it led to new ways of reasoning about quantum information and quantum computation. The graphical calculus that accompanies symmetric monoidal categories—where morphisms are drawn as boxes with wires—turned out to be a powerful tool for simplifying otherwise opaque calculations.
The field acquired its current name and identity around 2015, when a series of workshops and summer schools under the banner "Applied Category Theory" brought together researchers from mathematics, computer science, physics, biology, and other fields. Since then, the community has grown rapidly, with its own conference series and a steady stream of applications to new domains. It is important to note, however, that the field is not a single unified research programme with one agreed-upon method. It is better described as a collection of related approaches that share a common vocabulary and a common commitment to compositional thinking.
The oldest and most mature branch of applied category theory is the use of categorical structures to model programming languages and computation. The central idea is that a programming language can be described by a category whose objects are types and whose morphisms are programs or functions. Composition of morphisms corresponds to sequential execution of programs. This perspective, developed in the 1970s and 1980s, led to deep connections between category theory and logic: the Curry–Howard correspondence, which relates proofs in logical systems to programs in typed lambda calculi, has a categorical formulation in which categories with certain structure correspond to logical systems with certain rules.
A particularly influential concept is the monad, a categorical structure that captures the idea of computation with effects. In a pure functional language, a program that performs input/output, throws an exception, or maintains state cannot be modeled as a simple function from input to output. Moggi showed that such programs can be modeled as functions from input to a "computational effect" applied to the output, and that this effect can be organized as a monad. This insight became the backbone of the Haskell programming language, where monads are used to structure all impure computation. The success of monads in Haskell is perhaps the clearest example of a categorical concept having a direct, practical impact on working programmers.
The limits of this approach are also instructive. Categorical semantics gives a precise mathematical account of what programs mean, but it does not by itself tell you how to write efficient programs or how to design good programming languages. It is a tool for reasoning, not a recipe for construction. Moreover, the categorical models can become quite complex when one tries to capture all the features of a real programming language, and there is often a gap between the elegant mathematical model and the messy practical reality.
A second major approach centers on symmetric monoidal categories, which are categories equipped with an operation for combining objects (called the tensor product) that behaves like a parallel composition. In such a category, a morphism from A to B can be thought of as a process that transforms an input of type A into an output of type B, and the tensor product allows you to run two processes side by side. This structure is exactly what is needed to model systems with multiple components that interact.
The key technical development here is the graphical calculus: in a symmetric monoidal category, morphisms can be represented as diagrams with boxes and wires, and the equations of the category correspond to topological deformations of these diagrams. This graphical language, developed in the 1990s and 2000s, turned out to be remarkably powerful. It was used by Samson Abramsky and Bob Coecke to give a compact, intuitive account of quantum information protocols, and it became the basis for the ZX-calculus, a graphical language for quantum computing that has been used to verify and simplify quantum circuits.
This approach has been applied most successfully in physics and quantum information, but it has also been used in electrical engineering (where circuits are naturally composed in series and parallel), in control theory (where signal-flow diagrams can be interpreted categorically), and in natural language processing (where grammatical structures can be modeled as monoidal categories). The strength of the approach is its visual, intuitive character: complex calculations that would be opaque in algebraic notation become transparent when drawn as diagrams. The limitation is that not every categorical structure admits a graphical calculus, and the graphical methods work best for symmetric monoidal categories and their close relatives.
A third approach, associated particularly with the work of David Spivak and his collaborators, treats applied category theory as a way to organize knowledge across disciplines. The central idea is that a scientific theory or a data model can be described by a category, and that relationships between theories can be described by functors (structure-preserving maps between categories). This perspective has been applied to database theory, where a database schema is a category and a database instance is a functor; to systems biology, where biological processes can be modeled as morphisms in a category; and to the design of ontologies and knowledge graphs.
A distinctive feature of this approach is its emphasis on functorial semantics: the idea that the meaning of a term or a concept is not fixed in isolation but is determined by how it behaves under all the structure-preserving maps that relate it to other terms. This is a deeply categorical way of thinking, and it has proved useful in domains where the challenge is not so much to compute something as to organize and relate large bodies of heterogeneous information. The approach has been criticized, however, for sometimes being more descriptive than predictive: it can give a beautiful categorical account of a domain without necessarily yielding new scientific insights or testable predictions.
A more recent development is the application of categorical ideas to game theory and economics. In classical game theory, a game is described by a set of players, a set of strategies for each player, and a payoff function. Compositional game theory, developed by Neil Ghani, Jules Hedges, and others, treats a game as a morphism in a certain category, so that games can be combined in sequence (one game followed by another) or in parallel (two games played simultaneously). This allows for a modular account of complex strategic situations, where the overall game is built from simpler components.
The categorical perspective on games has been used to model economic interactions, multi-agent systems, and even the semantics of programming languages with game-theoretic interpretations. Its appeal is that it offers a principled way to reason about nested or hierarchical strategic situations, where the outcome of one game determines the rules of the next. The approach is still young, and its practical impact on economics is not yet clear, but it illustrates the general pattern of applied category theory: take a domain where composition matters, find the right categorical structure, and use the abstract theory to organize and simplify reasoning.
These approaches are not rival schools in the sense of mutually exclusive paradigms. They are better understood as different emphases within a common framework, and many researchers work across several of them. The categorical semantics of programming languages and the symmetric monoidal approach to physics both rely on the same core machinery of monoidal categories and graphical calculi; the difference is mainly in the target domain and in which categorical structures are emphasized. The functorial semantics approach is more general—it applies the categorical way of thinking to any domain where there is structure to be preserved—but it is less tied to specific computational or physical intuitions.
There are also genuine disagreements about the value and direction of the field. Some practitioners see applied category theory primarily as a language for expressing ideas that could, in principle, be expressed without it; others see it as a source of genuinely new mathematical results that are motivated by applications. Some worry that the field is too eager to claim applications in domains where the categorical formalism has not yet yielded practical benefits; others argue that the conceptual clarity alone justifies the effort. These debates are healthy and reflect the field's youth and rapid growth.
Applied category theory today is a vibrant and expanding field, with active research communities in mathematics, computer science, physics, and increasingly in biology, economics, and the social sciences. The annual Applied Category Theory conference, first held in 2018, has become the main venue for the field, and there are regular summer schools that train newcomers in the categorical toolkit. The field has also produced a growing body of textbooks and lecture notes aimed at making the material accessible to non-specialists.
One notable feature of the present landscape is the emphasis on open problems and grand challenges. Researchers in the field often point to the need for a "compositional theory of complex systems"—a framework that would allow scientists to build models of large, heterogeneous systems (a cell, an economy, a brain) from smaller, well-understood components. Whether category theory can deliver on this promise remains to be seen, but the ambition is clearly stated and actively pursued.
Another feature is the increasing use of computational tools within the field. Software packages for categorical computation, such as the Catlab framework in Julia, allow researchers to construct and manipulate categorical structures programmatically. These tools are still in their infancy, but they point toward a future in which categorical models can be tested and simulated, rather than merely described.
For an educated newcomer, the most important thing to understand is that applied category theory is not a finished edifice but a work in progress. Its core insight—that compositionality is a fundamental feature of complex systems, and that category theory provides the right language for talking about it—is widely shared. But the field's methods are still being developed, its boundaries are still being drawn, and its practical payoffs are still being demonstrated. The best way to engage with it is not to memorize a list of categorical definitions but to learn to see the world through the lens of composition: to ask, of any system, what its parts are, how they connect, and what is preserved when they are put together. That habit of mind, more than any particular theorem, is the heart of applied category theory.