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
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to