3 ms·
Isn't Maybe being an instance of Applicative enough in this case?
by rane 11y ago
Isn't Maybe being an instance of Applicative enough in this case?
- AnimalMuppet 11y agoMaybe... But seriously, I guess I think it's not a Monad. The Monad signature (in this case) is (>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b and I think what we really want (and what I said we wanted to do) is Maybe a -> (a -> b) -> Maybe b I don't know whether that's Applicative or Functor, but I don't think it's Monad.
- Muphrid 11y agoThat operation is called fmap, and it's characteristic of a functor. In Haskell, it's called liftM for monads, but they're really the same thing (and I think recent proposals are going to iron out this redundancy). fmap is one of the properties of a functor. All monads are functors, so all monads provide an operation with that signature.