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