Я постійно чую, як треба вивчити теорію категорій, щоб справді зрозуміти теорію мови програмування. Поки що я навчився великій кількості PL, не вступаючи ніколи в сферу категорій. Однак я подумав, що настав час зробити стрибок, щоб побачити, чого я пропустив.
На жаль, жодне з джерел, які я можу знайти, здається, не має ніяких зв’язків із типовими системами чи програмуванням. Вони кажуть, що це вступ до теорії категорій для вчених-комп’ютерів, але потім погляньте на загальну абстрактну нісенітницю (я це кажу з любов'ю), не даючи жодних практичних прикладів чи застосувань.
Я думаю, моє запитання насправді двояке:
- Чи важлива теорія категорій для розуміння "глибоких понять" в ПЛ?
- Що є джерелом, яке пояснює теорію категорій з точки зору практичних застосувань для типів систем та програмування?
Поки що я найдалі - це розпливчасте уявлення про функторів (наскільки я не можу сказати, що це стосується функторів в ML). Я боюсь абстракції, яку мені потрібно буде тримати в голові, щоб зрозуміти монади з категорично-теоретичного погляду.