
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.louis@gmail.com On Thu, Feb 19, 2009 at 2:10 AM, Sittampalam, Ganesh < ganesh.sittampalam@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
==============================================================================