From 7d6bb776112c8f538e91c56ebe5c4e071f2369e4 Mon Sep 17 00:00:00 2001 From: ross Date: Mon, 5 Jan 2004 17:44:30 +0000 Subject: [PATCH] [project @ 2004-01-05 17:44:30 by ross] Make runST(U)Array work with Hugs. This includes explicitly using unsafeFreezeSTArray rather than unsafeFreeze, to avoid relying on rules. --- Data/Array/ST.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Data/Array/ST.hs b/Data/Array/ST.hs index e8de28f..42829f9 100644 --- a/Data/Array/ST.hs +++ b/Data/Array/ST.hs @@ -34,11 +34,12 @@ import Data.Array.Base ( STUArray, castSTUArray, UArray, unsafeFreezeSTUArray ) import Control.Monad.ST ( ST, runST ) #ifdef __HUGS__ -import Hugs.ST ( STArray ) +import Hugs.Array ( Array ) +import Hugs.ST ( STArray, unsafeFreezeSTArray ) #endif #ifdef __GLASGOW_HASKELL__ -import GHC.Arr ( STArray, Array ) +import GHC.Arr ( STArray, Array, unsafeFreezeSTArray ) #endif -- | A safe way to create and work with a mutable array before returning an @@ -49,7 +50,7 @@ import GHC.Arr ( STArray, Array ) runSTArray :: (Ix i) => (forall s . ST s (STArray s i e)) -> Array i e -runSTArray st = runST (st >>= unsafeFreeze) +runSTArray st = runST (st >>= unsafeFreezeSTArray) -- | A safe way to create and work with an unboxed mutable array before -- returning an immutable array for later perusal. This function -- 1.7.10.4