Eu continuo ouvindo sobre como é preciso aprender a teoria das categorias para realmente entender a teoria da linguagem de programação. Até agora, aprendi bastante PL sem nunca entrar no campo das categorias. No entanto, achei que era hora de dar o salto para ver o que estava faltando.
Infelizmente, nenhuma das fontes que consigo encontrar parece fazer conexões com sistemas ou programação de tipos. Eles dizem que é uma introdução à teoria das categorias para cientistas da computação, mas depois se desviam para um absurdo abstrato geral (digo isso com carinho) sem dar exemplos ou aplicações práticas.
Acho que minha pergunta é dupla:
- A teoria das categorias é essencial para a compreensão dos "conceitos profundos" no PL?
- O que é uma fonte que explica a teoria das categorias do ponto de vista de aplicativos práticos para digitar sistemas e programação?
Até agora, o mais longe que cheguei é de uma vaga concepção de functores (que não parecem estar relacionados a functores no ML, tanto quanto eu sei). Estou com medo da abstração que preciso manter em mente para entender as mônadas a partir de uma visão teórica da categoria.