La pregunta es acerca de un concepto matemático abstracto (teoría de categorías) mientras se espera una respuesta muy práctica (aplicaciones específicas). Con el debido respeto, creo que esta es una expectativa poco realista.
Los conceptos matemáticos abstractos son parte de los fundamentos de los lenguajes de programación, no las aplicaciones. Por ejemplo, los tipos de datos son fundamentales para la programación. Cada idioma tiene algún tipo de tipos de datos e implementa un sistema de tipos , ya sea estático o dinámico, fuerte o débil, explícito o implícito, etc. Sin embargo, no existe un estándar.
Por lo tanto, muchos científicos informáticos han intentado utilizar la teoría de categorías para definir un sistema de tipo unificado . Véase, por ejemplo, el lenguaje de programación categórico de Hagino (1987) y Charity (1996), luego ML (2003) y CAML, y Haskell, por supuesto, que define una "categoría de Haskell" de tipos, y las funciones de Haskell son morfismos en los tipos ...
Este es el caso porque la teoría de tipos está estrechamente relacionada con la teoría de categorías . Para citar a JL Bell: "Las categorías se pueden ver a sí mismas como teorías de tipos de cierto tipo ... Por lo tanto, la teoría de tipos está mucho más relacionada con la teoría de categorías que con la teoría de conjuntos ... Hablando en términos generales, se puede pensar en una categoría como una teoría de tipos desprovista de su sintaxis ". Se ha demostrado que, por ejemplo, las categorías cerradas cartesianas corresponden al cálculo λ tipificado y los monoides C corresponden al cálculo λ no tipificado ...
No creo que la teoría de categorías sea necesaria para ningún tipo de programación, pero es una herramienta muy útil en el diseño e implementación de lenguajes de programación, y especialmente. los que son inherentemente matemáticos. Es por eso que la programación funcional a menudo se cita como una programación categórica, y todos los lenguajes de programación mencionados anteriormente son lenguajes FP.
Una introducción recomendada al tema es " Una muestra de la teoría de categorías para los informáticos " por BC Pierce (1988). Esta y otra información útil se encontró en una discusión similar sobre mathoverflow .