[Haskell-cafe] Accumulating and threading output of functions

Patrick Chilton chpatrick at gmail.com
Sat Jun 4 16:46:25 UTC 2016


If c is a Monoid, you can use the RWS a c b () type instead and combine
them with sequence_.
On 4 Jun 2016 5:19 pm, "martin" <martin.drautzburg at web.de> wrote:

> Hello all,
>
> I have a number of functions, whose type is something like this:
>
> f:: a -> b -> (b, c)
>
> i.e. it returns a modified b and an additional c.
>
> Now I want to write a combinator, which assembles a list of such functions
> into a single one. This combinator will have
> to thread the bs from one function to the next and accumulate the cs into
> a single c.
>
> While I was able to write this using a fold, I am not happy with it (my
> first attempt had a bad error in it, which is
> always a bad sign).
>
> Are you aware of any idioms, how to do such things on the beaten track?
>
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160604/2af23b2c/attachment.html>


More information about the Haskell-Cafe mailing list