[Haskell-cafe] REALLY simple STRef examples
chad.scherrer at gmail.com
Thu Jul 20 13:38:43 EDT 2006
> The short answer: use
> runST (long expression)
> rather than
> runST $ long expression
> when it comes to higher-ranked functions such as runST.
I suppose the same holds for runSTUArray, right? But this still gives
me that same error, about being less polymorphic than expected.
(+=) x y = let updateX i = do xi <- readArray x i
writeArray x i (xi + y!i)
in sequence_ . map updateX $ indices x
sumArrays  = error "Can't apply sumArrays to an empty list"
sumArrays (x:xs) = runSTUArray result
result = do x0 <- thaw x
mapM_ (x0 +=) xs
"Time flies like an arrow; fruit flies like a banana" -- Groucho Marx
More information about the Haskell-Cafe