Note that 2-rank type of runSTInit doesn't allow to
execute regular IO actions. Even that (ST s a) allows
actions like readRef and writeRef. This allows to
initialise local references but doesn't allow to
access other toplevel reverences since they are bound
to RealWorld state.

Thinking about this a bit more - isnt the real problem that the
IO monad should infact be a monad-transformer layered ontop
of the ST monad. That way ST actions could automatically be
lifted to the IO monad using the normal mechanisms provided
with monad-transformers.

   Keean.

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to