A pergunta é sobre um conceito matemático abstrato (teoria das categorias), enquanto espera por uma resposta muito prática (aplicações específicas). Com todo o respeito, acho que essa é uma expectativa irrealista.
Conceitos matemáticos abstratos fazem parte dos fundamentos das linguagens de programação, não das aplicações. Por exemplo, os tipos de dados são fundamentais para a programação. Toda linguagem possui algum tipo de tipo de dados e implementa um sistema de tipos - estático ou dinâmico, forte ou fraco, explícito ou implícito, etc. No entanto, não há um padrão.
Portanto, muitos cientistas da computação tentaram usar a teoria das categorias para definir um sistema de tipos unificado . Veja, por exemplo, a Linguagem de programação categórica de Hagino (1987) e Charity (1996), depois ML (2003) e CAML, e Haskell , é claro, que define uma "categoria Haskell" de tipos, e as funções Haskell são morfismos nos tipos ...
É esse o caso porque a teoria dos tipos está intimamente relacionada à teoria das categorias . Para citar JL Bell: "As categorias podem ser vistas como teorias de tipos de um certo tipo ... Assim, a teoria dos tipos está muito mais relacionada à teoria das categorias do que à teoria dos conjuntos ... Grosso modo, uma categoria pode ser pensada. como uma teoria de tipos desprovida de sua sintaxe ". Foi demonstrado que, por exemplo, as categorias fechadas cartesianas correspondem ao λ-cálculo digitado e os monoides C correspondem ao λ-cálculo não tipado ...
Eu não acho que a teoria das categorias seja necessária para qualquer tipo de programação, mas é uma ferramenta muito útil no design e implementação de linguagens de programação, e esp. aqueles que são inerentemente matemáticos. É por isso que a Programação Funcional é frequentemente citada como uma programação categórica, e todas as linguagens de programação mencionadas acima são linguagens FP.
Uma introdução recomendada ao tópico é " Uma amostra da teoria das categorias para cientistas da computação " de BC Pierce (1988). Esta e outras informações úteis foram encontradas em uma discussão semelhante no mathoverflow .