Почему мы имеем карту, fmap и liftM?

map :: (a -> b) -> [a] -> [b]

fmap :: Functor f => (a -> b) -> f a -> f b

liftM :: Monad m => (a -> b) -> m a -> m b

Почему у нас есть три различных функции, которые делают по существу то же самое?

96
задан fredoverflow 18 September 2011 в 18:32
поделиться