Есть ли хорошие примеры Functor
, которые не являются Applicative
s? К счастью, я ищу нетривиальные (не Const Void
) примеры, которые не нуждаются в обращениях к undefined
. Если их нет, есть ли способ доказать, что пространство неинтересно?
Это похоже на Хорошие примеры не functor/functor/Applicative/Monad?, но он не был полностью разрешен там.
В качестве последующего вопроса есть ли интересные примеры Functor
, которые могут быть оставлены без экземпляров Applicative
из-за наличия значительного количества неканонических экземпляров Applicative
? Например, "extended Maybe
" немного скучно
data MayB a = Jus a | Nothing1 | Nothing2 | Nothing3 | ...
instance Applicative MayB where
pure = Jus
Jus f <*> Jus x = Jus (f x)
Jus f <*> n = n
n <*> Jus x = n
n1 <*> n2 = methodOfResolvingNothingWhatsoever n1 n2
Существуют ли примеры, когда варианты экземпляра Applicative
являются более существенными?