Krasimir Angelov wrote:
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.
The proposal for merging ST and IO for refernce creation seems sound. I would like to point out that this does not address Adrian's problem as his example was that of initialising hardware which would require real IO actions.
Also the gain from this seems small as I can already write:
ref = newSTRef 0
and then I can use this safely from in the ST monad or the IO monad using "stToIO" - so using STRefs instead of IORefs would be as flexible as the proposal.
Keean. _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
