Composition Monad

Andre W B Furtado
Mon, 18 Feb 2002 00:52:44 -0300

Roughly speaking, I'm in need of a monad (say MyIO) that interprets the
following code

>f :: MyIO ()
>f = do
>        action1
>        action2
>        action3
>        ...
>        return ()

as applying action1 to g, then action2 to the SAME g (not the result of
action1) and so on...

Of course, this "g" will be specified when starting the monad (something
like "runMyIO g"). Does this "composition monad" already exist? If no, can
anyone give me some hints to create my own?

Thanks a lot
-- Andre