Как функторы в Хаскеле связаны с функторами в теории категорий?

Насколько я понимаю, функтор - это отображение между двумя категориями, например, из объектов вC http://mathurl.com/32qch9w.png к объектам вD http://mathurl.com/36b8r37.png гдеC http://mathurl.com/32qch9w.png а такжеD http://mathurl.com/36b8r37.png категории.

В Хаскеле естьHask в которых объекты являются типами Haskell, а морфизмы являются функциями Haskell. Тем не менееFunctor Тип класса имеет функциюfmap какие карты между этимитипы (которые являются объектами, а не самими категориями):

fmap :: (a -> b) -> f a -> f b

f a а такжеf b оба объекта вHask, Означает ли это каждый случайFunctor в Хаскеле является эндофунктором, а если нетFunctor действительно представлять функтор?

Что мне здесь не хватает? Являются ли типы также категориями в Haskell?

Ответы на вопрос(3)

Ваш ответ на вопрос