[Haskell-cafe] Monad fold

Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Tue Apr 16 15:49:48 CEST 2013


On Tue, Apr 16, 2013 at 01:53:19PM +0100, Oliver Charles wrote:
> On 04/16/2013 01:47 PM, Lyndon Maydwell wrote:
> >You could do:
> >
> >runKleisli . mconcat . map Kleisli :: Monoid (Kleisli m a b) => [a
> >-> m b] -> a -> m b
> >
> >Would that work for you?
> I can't find an instance for Monoid (Kleisli m a b) in `base`, so
> presumably the author would also have to write this instance? If so
> - would that really be any different to using that fold?

It doesn't make sense anyway.  It would have to be "Kleisli m a a" which
would presumably require a newtype.

Tom



More information about the Haskell-Cafe mailing list