Ci sono stati numerosi sviluppi riguardo all'uso delle monadi nella teoria del calcolo dall'opera di Eugenio Moggi. Non sono in grado di fornire un resoconto completo, ma qui ci sono alcuni punti che conosco, altri possono entrare in contatto con le loro risposte.
Esempi specifici di monadi
Non devi studiare la teoria super generale in ogni momento. Ci sono esempi di monadi che sono molto interessanti e sufficientemente complicati da riempire un'intera tesi di laurea.
Mi piace molto il blog di Dan Piponi in cui fornisce esempi sorprendenti di come le monadi possano essere usate per mescolare la programmazione funzionale e la matematica. Cerca le sue opere su nodi e trecce attraverso le monadi, per esempio.
Un altro esempio specifico di lunedì degno di studio è stato dato da Martin Escardo e Paulo Oliva nel contesto dei funzionali di selezione, vedere le loro funzioni di selezione, Bar Recursion e Backward Induction , o forse per interessarsi prima di leggere quali giochi sequenziali, il teorema di Tychonoff e il Lo spostamento a doppia negazione ha in comune (file Haskell e Agda associati qui ).
Sfondo matematico
Le monadi provengono dalla teoria delle categorie e sono molto più antiche di Eugenio Moggi. Potresti studiare la teoria di base se sei matematicamente incline. Ad esempio, potresti attaccare il teorema di monadicità di Beck . Un informatico teorico non può mai conoscere troppa matematica.
Variazioni su un tema
Potresti guardare qualcosa che non è strettamente monadi.
Ad esempio, Idiomi di Connor McBride e Ross Paterson : la programmazione applicativa con effetti mostra come si possono generalizzare le monadi a qualcosa che è praticamente rilevante e perspicace.
Oppure potresti vedere come vengono usati i comonad per modellare gli effetti computazionali. Qualcuno dovrebbe suggerire alcuni riferimenti per questo argomento, ma un buon inizio potrebbero essere le diapositive di David Overtone .
Teoria dei tipi modali
Nella teoria dei tipi dell'omotopia, così come nella teoria dei tipi in generale, le monadi appaiono nella forma della teoria dei tipi modali . Recentemente la teoria dei tipi modali è stata considerata nella teoria dei tipi di omotopia perché gli operatori di troncamento sono esempi di operatori modali. E poi c'è una teoria omotopica coesiva in cui gli operatori modali (che sono monadi) svolgono un ruolo essenziale.
Effetti e gestori algebrici
[Dichiarazione di non responsabilità: qui soffio parzialmente il mio corno.]
Qualche tempo fa Gordon Plotkin e John Power hanno ignorato che molti effetti computazionali non sono solo monadi, ma monadi speciali derivanti da teorie algebriche. Ciò ha portato a un trattamento completamente nuovo di effetti computazionali noto come effetti algebrici . Successivamente Gordon Plotkin e Matija Pretnar hanno introdotto i gestori e insieme agli effetti algebrici formano una teoria molto bella degli effetti computazionali. Un vantaggio di questo approccio è che le teorie algebriche possono essere facilmente combinate mentre le monadi no.
Potresti studiare in che modo esattamente gli effetti algebrici si collegano alle monadi. Potresti vedere come le persone implementano effetti e gestori algebrici, dire nel linguaggio Eff o in Haskell come biblioteca . Questa è la ricerca più o meno attuale.