
8 Oct
2005
8 Oct
'05
12:33 p.m.
On 10/8/05, Joel Reymont
Folks,
Why use runST in the following example at
http://www.n-heptane.com/nhlab/repos/NewBinary/Tests/BinDouble.hs ?
doubleToInts d = runST ( do arr <- newDoubleArray (1,2) writeDoubleArray arr 1 d i1 <- readIntArray arr 1 i2 <- readIntArray arr 2 return (i1,i2))
Isn't it possible to do the same within the IO monad?
It is, but why would you want to? doubleToInts in your example could be called from a pure function, whereas an IO-action doing the same could only be called from other IO actions. So, rule of thumb: Don't use IO if you don't really really REALLY need it. /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862