Talk:Functor hierarchy proposal
Revision as of 10:18, 3 November 2006 by StefanLjungstrand (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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)
<*>
should really be merged with ap
, right ?
(Btw, why such a symmetric operator symbol as <*>
? <*
or some other assymetric one would be better .. even plain `ap`
is not so bad, imho.)
Also, it would be nice to change sequence
, sequence_
, mapM
and mapM_
to only require Applicative
instead of Monad
. (Or one could merge these four into something like Data.FunctorM.FunctorM
, which should use Applicative
anyway.) -- StefanLjungstrand 10:18, 3 November 2006 (UTC)