Я читал LYAH. Он говорит, что нужно явно загрузить Control.Monad.Instances
, чтобы получить следующий синтаксис для работы:Почему нет (->) реализовано с Control.Monad.Instances по умолчанию
((fmap (+5)) (+5)) 4
Почему? Почему, если функторы - это базовая и объединяющая технология, я должен явно загрузить Control.Monad.Instances
, чтобы получить эту функциональность. Как (->) реализовано без него (или просто скрыто и только ->
экспортировано)? Почему не используется fmap
над типами функций, реализованных по умолчанию?
См. Также http://stackoverflow.com/questions/4204086/is-the-monad-w-instance-anywhere-standard –