Czytałem LYAH. Mówi, muszę jawnie załadować Control.Monad.Instances
aby uzyskać następujące składnia do pracy:Dlaczego nie jest (->) zaimplementowane domyślnie w Control.Monad.Instances
((fmap (+5)) (+5)) 4
Dlaczego tak jest? Dlaczego, jeśli funktory są tą podstawową i jednoczącą technologią, muszę jawnie załadować Control.Monad.Instances
, aby uzyskać tę funkcjonalność. W jaki sposób jest (->) zaimplementowane bez niego (lub jest po prostu ukryte i wyeksportowane tylko ->
)? Dlaczego nie stosuje się domyślnie typów funkcji zaimplementowanych?
Zobacz także http://stackoverflow.com/questions/4204086/is-the-monad-w-instance-anywhere-standard –