--
-- Maintainer : libraries@haskell.org
-- Stability : experimental
--- Portability : non-portable
+-- Portability : non-portable (uses Data.Array.Base)
--
-- Mutable boxed and unboxed arrays in the IO monad.
--
{-# INLINE unsafeWrite #-}
unsafeWrite (IOUArray marr) i e = stToIO (unsafeWrite marr i e)
-#ifdef __GLASGOW_HASKELL__
instance MArray IOUArray Word IO where
{-# INLINE newArray #-}
newArray lu init = stToIO $ do
unsafeRead (IOUArray marr) i = stToIO (unsafeRead marr i)
{-# INLINE unsafeWrite #-}
unsafeWrite (IOUArray marr) i e = stToIO (unsafeWrite marr i e)
-#endif
instance MArray IOUArray (Ptr a) IO where
{-# INLINE newArray #-}