Composition Monad

Hal Daume III hdaume@ISI.EDU
Sun, 17 Feb 2002 18:52:12 -0800 (PST)


I'm not sure exactly what you mean.  Say I have something like that, then
what's the difference between saying:

f = do { action1;
         action2;
         action3 }

and simply

f = do action3

?

If the result of each of the actions is ignored for the following ones,
why do we need to do this monadically?

--
Hal Daume III

 "Computer science is no more about computers    | hdaume@isi.edu
  than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume

On Mon, 18 Feb 2002, Andre W B Furtado wrote:

> 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
> 
> _______________________________________________
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>