Skip to content

Commit 6b80aa8

Browse files
authored
Remove dead code from Data.HashMap.Array (#271)
* Remove unused Array.traverse{ST,IO} functions * Remove unused Array.copyM function * Remove unused Array.run2 function * Remove unused Int argument from array function * Remove copyMutableArray#, clean up imports * Remove Int parameter from marray function * Remove Array.lengthM and sizeOfSmallMutableArray# * Revert "Remove unused Array.traverse{ST,IO} functions" This reverts commit 492b394. * Revert "Remove Array.lengthM and sizeOfSmallMutableArray#" This reverts commit 3b04d96. * Revert "Remove copyMutableArray#, clean up imports" This reverts commit 126a7d5. * Silence warnings regarding copyMutableArray# * Remove [m]array smart constructors * Revert "Remove unused Array.copyM function" This reverts commit 089e9e4.
1 parent e6598b5 commit 6b80aa8

File tree

1 file changed

+6
-23
lines changed

1 file changed

+6
-23
lines changed

Data/HashMap/Array.hs

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ module Data.HashMap.Array
3636
, unsafeThaw
3737
, unsafeSameArray
3838
, run
39-
, run2
4039
, copy
4140
, copyM
4241

@@ -210,11 +209,6 @@ length :: Array a -> Int
210209
length ary = I# (sizeofArray# (unArray ary))
211210
{-# INLINE length #-}
212211

213-
-- | Smart constructor
214-
array :: Array# a -> Int -> Array a
215-
array ary _n = Array ary
216-
{-# INLINE array #-}
217-
218212
data MArray s a = MArray {
219213
unMArray :: !(MutableArray# s a)
220214
}
@@ -223,11 +217,6 @@ lengthM :: MArray s a -> Int
223217
lengthM mary = I# (sizeofMutableArray# (unMArray mary))
224218
{-# INLINE lengthM #-}
225219

226-
-- | Smart constructor
227-
marray :: MutableArray# s a -> Int -> MArray s a
228-
marray mary _n = MArray mary
229-
{-# INLINE marray #-}
230-
231220
------------------------------------------------------------------------
232221

233222
instance NFData a => NFData (Array a) where
@@ -249,11 +238,11 @@ rnfArray ary0 = go ary0 n0 0
249238
-- state thread, with each element containing the specified initial
250239
-- value.
251240
new :: Int -> a -> ST s (MArray s a)
252-
new n@(I# n#) b =
241+
new (I# n#) b =
253242
CHECK_GT("new",n,(0 :: Int))
254243
ST $ \s ->
255244
case newArray# n# b s of
256-
(# s', ary #) -> (# s', marray ary n #)
245+
(# s', ary #) -> (# s', MArray ary #)
257246
{-# INLINE new #-}
258247

259248
new_ :: Int -> ST s (MArray s a)
@@ -308,25 +297,19 @@ indexM ary _i@(I# i#) =
308297
unsafeFreeze :: MArray s a -> ST s (Array a)
309298
unsafeFreeze mary
310299
= ST $ \s -> case unsafeFreezeArray# (unMArray mary) s of
311-
(# s', ary #) -> (# s', array ary (lengthM mary) #)
300+
(# s', ary #) -> (# s', Array ary #)
312301
{-# INLINE unsafeFreeze #-}
313302

314303
unsafeThaw :: Array a -> ST s (MArray s a)
315304
unsafeThaw ary
316305
= ST $ \s -> case unsafeThawArray# (unArray ary) s of
317-
(# s', mary #) -> (# s', marray mary (length ary) #)
306+
(# s', mary #) -> (# s', MArray mary #)
318307
{-# INLINE unsafeThaw #-}
319308

320309
run :: (forall s . ST s (MArray s e)) -> Array e
321310
run act = runST $ act >>= unsafeFreeze
322311
{-# INLINE run #-}
323312

324-
run2 :: (forall s. ST s (MArray s e, a)) -> (Array e, a)
325-
run2 k = runST (do
326-
(marr,b) <- k
327-
arr <- unsafeFreeze marr
328-
return (arr,b))
329-
330313
-- | Unsafely copy the elements of an array. Array bounds are not checked.
331314
copy :: Array e -> Int -> MArray s e -> Int -> Int -> ST s ()
332315
copy !src !_sidx@(I# sidx#) !dst !_didx@(I# didx#) _n@(I# n#) =
@@ -469,10 +452,10 @@ undefinedElem = error "Data.HashMap.Array: Undefined element"
469452
{-# NOINLINE undefinedElem #-}
470453

471454
thaw :: Array e -> Int -> Int -> ST s (MArray s e)
472-
thaw !ary !_o@(I# o#) !n@(I# n#) =
455+
thaw !ary !_o@(I# o#) (I# n#) =
473456
CHECK_LE("thaw", _o + n, length ary)
474457
ST $ \ s -> case thawArray# (unArray ary) o# n# s of
475-
(# s2, mary# #) -> (# s2, marray mary# n #)
458+
(# s2, mary# #) -> (# s2, MArray mary# #)
476459
{-# INLINE thaw #-}
477460

478461
-- | /O(n)/ Delete an element at the given position in this array,

0 commit comments

Comments
 (0)