It does. In the most recent version, the full class declaration runs class MonadST m where type StateThread m liftST :: ST (StateThread m) a -> m a
and the StateThread propagates accordingly. Louis Wasserman wasserman.lo...@gmail.com On Thu, Feb 19, 2009 at 2:10 AM, Sittampalam, Ganesh < ganesh.sittampa...@credit-suisse.com> wrote: > Henning Thielemann wrote: > > On Mon, 16 Feb 2009, Louis Wasserman wrote: > > > >> Overnight I had the following thought, which I think could work > >> rather well. The most basic implementation of the idea is as > >> follows: > >> > >> class MonadST s m | m -> s where > >> liftST :: ST s a -> m a > >> > >> instance MonadST s (ST s) where ... > >> instance MonadST s m => MonadST ... > > > > Like MonadIO, isn't it? > > I think it should be, except that you need to track 's' somewhere. > > Ganesh > > > ============================================================================== > Please access the attached hyperlink for an important electronic > communications disclaimer: > > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > > ============================================================================== > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe