Oggi, un discorso di Henning Kerstan ("Trace Semantics for Probabilistic Transition Systems") mi ha confrontato per la prima volta con la teoria delle categorie. Ha costruito un quadro teorico per descrivere i sistemi di transizione probablistica e il loro comportamento in modo generale, cioè con insiemi di stati infiniti e infinite nozioni di tracce. A tal fine, passa attraverso diversi strati di astrazione per finire infine con la nozione di monadi che combina con la teoria delle misure per costruire il modello di cui ha bisogno.
Alla fine, gli ci sono voluti 45 minuti per (approssimativamente) costruire un framework per descrivere un concetto che inizialmente ha spiegato in 5 minuti. Apprezzo la bellezza di un approccio (che non generalizzare ben oltre differenti nozioni di tracce), ma mi sembra un equilibrio strano comunque.
Faccio fatica a vedere cosa sia realmente una monade e come un concetto così generale possa essere utile nelle applicazioni (sia in teoria che in pratica). Ne vale davvero la pena, dal punto di vista del risultato?
Pertanto questa domanda:
Ci sono problemi naturali (nel senso di CS) su cui può essere applicata la nozione astratta di monadi e aiuta (o è anche strumentale) a ottenere i risultati desiderati (per niente o in un modo più bello che senza)?