Что такое определение Аппликативного Функтора из теории категорий POV?
Я смог отобразить определение Функтора из теории категорий в определение Хаскелла следующим образом: поскольку объектыHask
типы, функторF
a
изHask
к новому типуF a
грубо говоря, добавив к нему "F".наносит на карту каждый морфизмa -> b
изHask
к новому морфизмуF a -> F b
с помощьюfmap :: (a -> b) -> (f a -> f b)
.Все идет нормально. Теперь я добираюсь доApplicative
и не могу найти упоминаний о такой концепции в учебниках. Глядя на то, что это добавляет кFunctor
, ap :: f (a -> b) -> f a -> f b
Я попытался придумать свое собственное определение.
Во-первых, я заметил, что с(->)
также тип, морфизмыHask
являются объектами этого тоже. В свете этого я высказал предположение, что аппликативный функтор является функтором, который также может отображать «стрелочные» -объекты исходной категории в морфизмы целевой.
Это правильная интуиция? Можете ли вы дать более формальное и строгое определение?