[Haskell-cafe] ST monad
Bulat Ziganshin
bulatz at HotPOP.com
Tue Jan 3 05:27:50 EST 2006
Hello
the following code can't go through typechecking. can anyone help me
to fix it or, better, let me know what i need to read to fix it myself? :)
import Control.Monad.ST
import Data.Array.ST
main = print $ runST $
do arr <- newArray (1,10) 127
a <- readArray arr 1
writeArray arr 1 216
b <- readArray arr 1
return (a,b)
PS: error message is
b.hs:4:15:
Inferred type is less polymorphic than expected
Quantified type variable `s' escapes
Expected type: ST s a -> b
Inferred type: (forall s1. ST s1 a) -> a
In the first argument of `($)', namely `runST'
In the second argument of `($)', namely
`runST
$ (do
arr <- newArray (1, 10) 127
a <- readArray arr 1
writeArray arr 1 216
b <- readArray arr 1
return (a, b))'
--
Best regards,
Bulat mailto:bulatz at HotPOP.com
More information about the Haskell-Cafe
mailing list