У меня есть комбинатор C
и Functor
instance
, определенные следующим образом:
data C f1 f2 a = C (f1 a) (f2 a)
instance
( Functor f1
, Functor f2
)
=> Functor (C f1 f2)
where
fmap g (C a b) = C (fmap g a) (fmap g b)
В простом английском sh я мог бы описать C
как тип продукта, в котором fmap
экземпляр раздает.
Моя реализация здесь подходит для моих целей, но я хочу знать, есть ли правильное имя для этого комбинатора в жаргонном выражении haskell или категории-теории c, чтобы я мог проецировать на будущие пользователи этой библиотеки, что это делает, или даже используют вместо этого существующий код, если такой существует.
У этого комбинатора уже есть имя?