1 {-# OPTIONS -fglasgow-exts #-}
3 -- !!! multi-dimensional arrays
5 module Main ( main ) where
9 type TwoD s = STArray s Int (STArray s Int Int)
11 setup :: ST s (TwoD s)
17 -- gives : undefined reference to `IOBase_error_closure'
18 -- x <- newArray (0, omax) (error "uninitialised")
19 dmy <- newSTArray (0, imax) 0
20 x <- newSTArray (0, omax) dmy
21 as <- (sequence . replicate osz) (newSTArray (0, imax) 6)
22 mapM_ (\(i,v) -> writeSTArray x i v) (zip [0..omax] as)