On 20 May 2010 13:10, Miguel Mitrofanov <miguelim...@yandex.ru> wrote: > That won't be a great idea; if I just want my monad to be declared as one, I > would have to write > > instance Functor MyMonad where fmap = ... > instance Pointed MyMonad where pure = ... > instance Applicative MyMonad where (<*>) = ... > instance Monad MyMonad where join = ... >
There are also some Monads where a Functor instance wouldn't add anything useful, Andy Gill's Dot monad is one (Text.Dot), Oleg Kiselyov's RenderMonad in the CSXML library is another. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe