
20 Dec
2004
20 Dec
'04
9:27 a.m.
On Mon, Dec 20, 2004 at 02:16:52PM +0000, Keean Schupke wrote:
But is that beacuse it really isn't (theoretically) possible, or just not possible to write in Haskell (because it would involve new primitives)?
Surely if IO is (ST RealWorld a) then (StateT RealWorld m a) is more or less the right thing?
Sure, you only need to implement one primitive - world duplication ;) Consider m = []: Prelude Control.Monad.State> runStateT (do x <- lift [1,2,3]; put x) 0 [((),1),((),2),((),3)] Prelude Control.Monad.State> runIOT (do x <- lift [1,2,3]; print x) 0 hmmm? Best regards, Tomasz