Talk:Functor hierarchy proposal
From HaskellWiki
Um, it would be good if it was something like:
class (Idiom f) => Monad f where fmap f m = m >>= return . f -- or ap . return ? ap mf mv = mf >>= \f -> mv >>= \v -> return $ f v (>>=) :: f a -> (a -> f b) -> f b
Or am I missing the point?
Serhei 15:24, 29 January 2006 (UTC)
- You can't put defaults for one class in another. Though that could be another proposal. —Ashley Y 21:02, 29 January 2006 (UTC)
- Wasn't this part of John Meacham's class system proposal? What happend to this? -- Wolfgang Jeltsch 19:25, 2 February 2006 (UTC)
<*>
ap
<*>
<*
`ap`
sequence
sequence_
mapM
mapM_
Applicative
Monad
Data.FunctorM.FunctorM
Applicative
I think it makes sense to take return out of Applicative. Either into a separate step between Functor and Applicative, or into a new class altogether:
class Boxable f where return :: a -> f a class (Functor f, Boxable f) => Applicative f where ...
But maybe this is just overengineering.
Twanvl 21:46, 15 January 2007 (UTC)
