Итак, у нас есть категория Hask, где:
- Типы - это объекты категории
- Функции - это морфизмы от объекта к объекту в категории.
Аналогично для Functor
имеем:
- Конструктор Type как отображение объектов из одной категории в другую
-
fmap
для отображения морфизмов из одной категории в другую.
Теперь, когда мы пишем программу, мы в основном преобразуем значения (а не типы), и кажется, что Категория Хаска вообще не говорит о значениях. Я попытался соответствовать значениям во всем уравнении и придумал следующее наблюдение:
- Каждый тип является самой категорией. Пример: Int - это категория всех целых чисел.
- Функции от значения до другого значения того же типа являются морфизмом категории. Например:
Int -> Int
- Функции от одного значения до другого значения другого типа являются функторами для отображения значений одного типа в другой.
Теперь мой вопрос: действительно ли значения имеют смысл в категории Хаска (или в общей теории категорий)? Если да, то любая ссылка, чтобы прочитать об этом ИЛИ если нет, то любая причина для этого.
Я надеюсь, что вопрос имеет смысл:)