Как функторы в Хаскеле связаны с функторами в теории категорий?
Насколько я понимаю, функтор - это отображение между двумя категориями, например, из объектов в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?