Monads
Christopher Milton
cmiltonperl at yahoo.com
Wed Dec 31 17:42:43 EST 2003
Mark,
I'm no expert, but does it help to start from withStateT?
> withStateT :: (s -> s) -> StateT s m a -> StateT s m a
> withStateT f m = StateT $ runStateT m . f
There are some notes about computations and lifting
state transformers in
Modular Denotational Semantics for Compiler Construction
Sheng Liang, Paul Hudak
http://citeseer.nj.nec.com/liang96modular.html
Monad Transformers and Modular Interpreters
Sheng Liang, Paul Hudak, Mark Jones
http://citeseer.nj.nec.com/liang95monad.html
Don't mind me: I just couldn't control the vestiges of
librarianship lurking in my dark, lost soul...
Dobrego Nowego Roku!
Chris Milton (no, not MLton:-)
--- Mark Carroll <mark at chaos.x-philes.com> wrote:
> Omitting the typeclass bit, I'm trying to write something like
> (s1 -> s2) -> StateT s1 m () -> StateT s2 m a -> StateT s1 m a
>
> That is, it sequences two StateT computations, providing a way to
> translate from the first's state to the second to keep the chain
> going.
>
> I can easily write something for when s1 and s2 are the same, and my
> understanding of much of Control.Monad.* remains tenuous at best, but if
> it's easy for anyone to provide me with some tips, then I thought I should
> mention that it'd certainly be helpful.
>
> And Happy New Year, everyone!
>
> -- Mark
> _______________________________________________
> 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