Я иду через these Haskell «промежуточных» упражнений, я сделал следующие случаи:Оператор стрелок в объявлениях экземпляров functor?
class Fluffy f where
furry :: (a -> b) -> f a -> f b
instance Fluffy [] where
furry f [] = []
instance Fluffy Maybe where
furry f (Just e) = Just (f e)
furry f (Nothing) = Nothing
Однако синтаксис третий вопрос поставлен в тупик меня:
instance Fluffy ((->) t) where
...
Я читал на стрелке, а также прочитать ответ this, в котором объясняется роль (->)
в экземпляре Monad. Однако я не совсем понимаю, как работает (->)
в контексте функторов?