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