Sigo escuchando acerca de cómo uno debe aprender la teoría de categorías para comprender realmente la teoría del lenguaje de programación. Hasta ahora, he aprendido una gran cantidad de PL sin siquiera entrar en el ámbito de las categorías. Sin embargo, pensé que era hora de dar el salto para ver lo que me había estado perdiendo.
Desafortunadamente, ninguna de las fuentes que puedo encontrar parece hacer conexiones para escribir sistemas o programar. Ellos dicen que es una introducción a la teoría de categorías para los informáticos, pero luego desviarse en sentido general abstracto (lo digo con amor) sin dar ejemplos prácticos o aplicaciones.
Supongo que mi pregunta es realmente doble:
- ¿Es esencial la teoría de categorías para comprender los "conceptos profundos" en PL?
- ¿Cuál es una fuente que explica la teoría de categorías desde el punto de vista de aplicaciones prácticas para escribir sistemas y programación?
Hasta ahora, lo más lejos que he llegado es a una vaga concepción de los functores (que, hasta donde puedo decir, no parecen estar relacionados con los functores). Temo la abstracción que necesitaré tener en mi cabeza para comprender las mónadas desde una perspectiva teórica de categoría.