La domanda è di chiedere un concetto matematico astratto (teoria delle categorie) mentre si spera in una risposta molto pratica (applicazioni specifiche). Con tutto il rispetto, penso che questa sia un'aspettativa non realistica.
I concetti matematici astratti fanno parte dei fondamenti dei linguaggi di programmazione, non delle applicazioni. Ad esempio, tipi di dati sono fondamentali per la programmazione. Ogni lingua ha una qualche forma di tipi di dati e implementa un tipo di sistema - statico o dinamico, strong o debole, esplicito o implicito, ecc. Tuttavia, non esiste uno standard.
Pertanto, molti scienziati informatici hanno tentato di utilizzare la teoria delle categorie per definire un sistema di tipo unificato . Vedi ad esempio Hagino Categorical Programming Language (1987) e Charity (1996), quindi ML (2003) e CAML, e Haskell ovviamente, che definisce una" categoria Haskell " "di tipi e le funzioni di Haskell sono morfismi sui tipi ...
Questo perché la teoria dei tipi è strettamente correlata alla teoria delle categorie . Per citare JL Bell: "Le categorie possono essere viste come teorie del tipo di un certo tipo ... Quindi la teoria del tipo è molto più strettamente correlata alla teoria delle categorie che non alla teoria della teoria ... In parole povere, una categoria può essere pensata come una teoria del tipo priva della sua sintassi. " È stato dimostrato che, ad esempio, le categorie chiuse cartesiane corrispondono a typed λ-calculus e C-monoids corrispondono a untyped λ-calculus ...
Non penso che la teoria delle categorie sia necessaria per qualsiasi tipo di programmazione, ma è uno strumento molto utile nella progettazione e implementazione di linguaggi di programmazione, e . quelli che sono intrinsecamente matematici. Questo è il motivo per cui la programmazione funzionale è spesso citata come una programmazione categoriale e tutti i linguaggi di programmazione sopra menzionati sono linguaggi FP.
Un'introduzione raccomandata all'argomento è " Un assaggio della teoria delle categorie per gli informatici "di BC Pierce (1988). Questa e altre informazioni utili sono state trovate in una discussione simile su mathoverflow .