Continuo a sentire come si deve imparare la teoria delle categorie per comprendere veramente la teoria del linguaggio di programmazione. Finora ho appreso molti PL senza mai entrare nel regno delle categorie. Tuttavia, ho pensato che fosse tempo di fare il salto per vedere cosa mi mancava.
Sfortunatamente, nessuna delle fonti che riesco a trovare sembra connettere sistemi di tipo o programmazione. Loro dicono che è un'introduzione alla teoria delle categorie per gli informatici, ma poi virare via in generale senza senso astratto (lo dico con amore) senza dare esempi pratici o applicazioni.
Immagino che la mia domanda sia in realtà duplice:
- La teoria delle categorie è essenziale per comprendere i "concetti profondi" in PL?
- Qual è una fonte che spiega la teoria delle categorie dal punto di vista delle applicazioni pratiche per digitare sistemi e programmazione?
Finora, il più lontano che ho ottenuto è una vaga concezione di funzioni (che non sembrano essere correlate a funzioni in ML, per quanto ne so). Temo l'astrazione che dovrò tenere nella mia testa per capire le monadi da un punto di vista teorico di categoria.