sigh, add some more #ifdefs to this file (MutableArray/STArray changes).
import PrimPacked
import GlaExts
import Addr ( Addr(..) )
import PrimPacked
import GlaExts
import Addr ( Addr(..) )
+#if __GLASGOW_HASKELL__ < 407
import MutableArray ( MutableArray(..) )
import MutableArray ( MutableArray(..) )
+#else
+import PrelArr ( STArray(..), newSTArray )
+#endif
-- ForeignObj is now exported abstractly.
#if __GLASGOW_HASKELL__ >= 303
-- ForeignObj is now exported abstractly.
#if __GLASGOW_HASKELL__ >= 303
string_table :: FastStringTableVar
string_table =
unsafePerformIO (
string_table :: FastStringTableVar
string_table =
unsafePerformIO (
- stToIO (newArray (0::Int,hASH_TBL_SIZE) [])
#if __GLASGOW_HASKELL__ < 405
#if __GLASGOW_HASKELL__ < 405
+ stToIO (newArray (0::Int,hASH_TBL_SIZE) [])
>>= \ (MutableArray _ arr#) ->
>>= \ (MutableArray _ arr#) ->
+#elif __GLASGOW_HASKELL__ < 407
+ stToIO (newArray (0::Int,hASH_TBL_SIZE) [])
>>= \ (MutableArray _ _ arr#) ->
>>= \ (MutableArray _ _ arr#) ->
+#else
+ stToIO (newSTArray (0::Int,hASH_TBL_SIZE) [])
+ >>= \ (STArray _ _ arr#) ->
#endif
newIORef (FastStringTable 0# arr#))
#endif
newIORef (FastStringTable 0# arr#))