Вивчивши Haskell та інші не такі чисті мови FP, я вирішив прочитати про теорію категорій. Отримавши гарне розуміння теорії категорій, я почав думати про те, як поняття теорії категорій можна використовувати для роздуму над розробкою програм, але як би я не намагався, здається, це не шлях.
Провівши багато невдалих спроб пов'язати теорію категорій із розробкою програм, я дійшов висновку, що:
- Теорія категорій корисна при розробці мови програмування .
- Теорія категорій - це не те, що ви використовуєте при розробці програм (навіть при використанні мови, розробленої на основі категорій). Наприклад: При програмуванні в Haskell ви будете використовувати типи, конструктор типів, функції, функції вищого порядку тощо, щоб створити свою програму, а не концепції теорії категорій.
Підсумовуючи, у нас є система нижче шарів (замовлення від низького до високого):
Теорія категорій -> Мова програмування -> Програма
На конкретному шарі ви використовуєте поняття безпосередньо нижнього шару .
Чи правильно це розуміння? Якщо ні, і ви вважаєте, що при розробці програм ми можемо безпосередньо використовувати концепції теорії категорій, будь ласка, зверніться до деяких статей чи публікацій блогу, де це демонструється.
ПРИМІТКА: Під розробкою програм я маю на увазі розробку програм на основі різних концепцій, таких як паралельність, паралелізм, реактивність, передача повідомлень тощо.