[Haskell-cafe] *almost* composition in writer monad

Edsko de Vries devriese at cs.tcd.ie
Wed Mar 4 13:02:38 EST 2009


Doh, yes, of course. I had a feeling I was missing something obvious :)

Thanks :)

On 4 Mar 2009, at 17:29, Miguel Mitrofanov wrote:

> Isn't that "sequence" in State monad?
>
> On 4 Mar 2009, at 19:37, Edsko de Vries wrote:
>
>> Hi,
>>
>> Does this function remind anybody of anything? It seems like I'm  
>> missing an obvious abstraction:
>>
>> composeWriter :: [a -> (a, b)] -> a -> (a, [b])
>> composeWriter [] a
>> = (a, [])
>> composeWriter (f:fs) a
>> = let (a', b) = f a
>>          (final_a, bs) = composeWriter fs a'
>>    in (final_a, b:bs)
>>
>> It's almost but not quite composition for functions in the Writer  
>> monad; the difference is that every function has exactly one b  
>> result, rather than a list of them.
>>
>> Edsko
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



More information about the Haskell-Cafe mailing list