Я читал LYAH . В нем говорится, что мне нужно явно загрузить Control.Monad.Instances
, чтобы следующий синтаксис работал:
( ( fmap (+5) ) (+5) ) 4
Почему это так? Почему, если функторы являются этой базовой и объединяющей технологией, мне нужно явно загружать Control.Monad.Instances
, чтобы получить эту функциональность. Как поживает (-> ) реализовано без него (или просто скрыто и экспортируется только ->
)? Почему по умолчанию не реализовано использование fmap
вместо типов функций?