<div><div style="color:rgb(49,49,49);word-spacing:1px" dir="auto"><div dir="auto" style="font-size:1rem">Hello,</div></div><div dir="auto" style="color:rgb(49,49,49);word-spacing:1px"><br></div><div dir="auto" style="font-size:1rem;color:rgb(49,49,49);word-spacing:1px">I suggest taking a quick look at the function ‘fold’ in Data.Foldable, and also Data.Functor.Compose. That should be good start for composing any list of such functions. </div><div dir="auto" style="color:rgb(49,49,49);word-spacing:1px"><br></div><div dir="auto" style="font-size:1rem;color:rgb(49,49,49);word-spacing:1px">Cheers,</div><div dir="auto" style="color:rgb(49,49,49);word-spacing:1px"><br></div><div dir="auto" style="font-size:1rem;color:rgb(49,49,49);word-spacing:1px">J.</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 1 Feb 2020 at 19:55, Debasish Ghosh <<a href="mailto:ghosh.debasish@gmail.com">ghosh.debasish@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi -</div><div><br></div><div>How can I generalize the following pattern to an arbitrary list of functions ?</div><div><br></div><font face="monospace">compose :: (Monad m) => (Foo -> m Foo) -> (Foo -> m Foo) -> (Foo -> m Foo) -> Foo -> m Foo<br>compose f1 f2 f3 acc = do<br>  a <- f1 acc<br>  b <- f2 a<br>  f3 b</font><div><br></div><div>Any help please ..</div><div>regards.<br></div><div><div><br></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div>Debasish Ghosh<br><a href="http://manning.com/ghosh2" target="_blank">http://manning.com/ghosh2</a></div><div><a href="http://manning.com/ghosh" target="_blank">http://manning.com/ghosh</a><br></div><div><br>Twttr: @debasishg<br>Blog: <a href="http://debasishg.blogspot.com" target="_blank">http://debasishg.blogspot.com</a><br>Code: <a href="http://github.com/debasishg" target="_blank">http://github.com/debasishg</a></div></div></div></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div>