[project @ 2000-03-21 14:24:20 by simonmar]
authorsimonmar <unknown>
Tue, 21 Mar 2000 14:26:02 +0000 (14:26 +0000)
committersimonmar <unknown>
Tue, 21 Mar 2000 14:26:02 +0000 (14:26 +0000)
MutableArray/STArray fixage.

ghc/tests/array/should_run/arr014.hs
ghc/tests/codeGen/should_run/cg026.hs

index 44a31fd..78ba8be 100644 (file)
@@ -3,10 +3,10 @@
 -- !!! multi-dimensional arrays
 
 module Main ( main ) where
-import GlaExts
+import ST
 import Array
 
-type TwoD s = MutableArray s Int (MutableArray s Int Int)
+type TwoD s = STArray s Int (STArray s Int Int)
 
 setup :: ST s (TwoD s)
 setup = let isz = 10
@@ -16,10 +16,10 @@ setup = let isz = 10
        do
             -- gives : undefined reference to `IOBase_error_closure'
 --         x <- newArray (0, omax) (error "uninitialised")
-           dmy <- newArray (0, imax) 0      
-           x <- newArray (0, omax) dmy
-           as <- (sequence . replicate osz) (newArray (0, imax) 6)
-           mapM_ (\(i,v) -> writeArray x i v) (zip [0..omax] as)
+           dmy <- newSTArray (0, imax) 0      
+           x <- newSTArray (0, omax) dmy
+           as <- (sequence . replicate osz) (newSTArray (0, imax) 6)
+           mapM_ (\(i,v) -> writeSTArray x i v) (zip [0..omax] as)
            return x      
 
 main :: IO ()
index 570306c..ff9d19e 100644 (file)
@@ -5,6 +5,7 @@ module Main ( main ) where
 import PrelBase
 import ST
 import IOExts
+import ST
 import MutableArray
 import ByteArray
 import Addr
@@ -204,18 +205,18 @@ test_ptrs
 
     f size
       = runST (
-         newArray (1, size) (3 % 5)    >>= \ arr# ->
+         newSTArray (1, size) (3 % 5)  >>= \ arr# ->
          -- don't fill in the whole thing
          fill_in arr# 1 400            >>
-         freezeArray arr#
+         freezeSTArray arr#
        )
 
-    fill_in :: MutableArray s Int (Ratio Int) -> Int -> Int -> ST s ()
+    fill_in :: STArray s Int (Ratio Int) -> Int -> Int -> ST s ()
 
     fill_in arr_in# first last
       = if (first > last)
        then return ()
-       else writeArray arr_in# first (fromInt (first * first)) >>
+       else writeSTArray arr_in# first (fromInt (first * first)) >>
             fill_in  arr_in# (first + 1) last
 
     lookup_range :: Array Int (Ratio Int) -> Int -> Int -> [Ratio Int]