Почему нет (-> ) реализовано с помощью Control.Monad.Instances по умолчанию

Я читал LYAH . В нем говорится, что мне нужно явно загрузить Control.Monad.Instances , чтобы следующий синтаксис работал:

( ( fmap (+5) ) (+5) ) 4

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

5
задан Don Stewart 2 May 2011 в 23:10
поделиться