@@ -163,17 +163,17 @@ toList arr = loop 0
164 len = length arr
164 len = length arr
165 loop i | i == len = []
165 loop i | i == len = []
166− loop i = getIndexUnsafe arr i : loop (i + 1)
166+ loop i = getIndexUnsafe i arr : loop (i + 1)
168{-# INLINE_NORMAL read #-}
168{-# INLINE_NORMAL read #-}
169read :: Monad m => Array a -> Stream m a
169read :: Monad m => Array a -> Stream m a
170read arr@Array{..} =
170read arr@Array{..} =
171− D.map (getIndexUnsafe arr) $ D.enumerateFromToIntegral 0 (arrLen - 1)
171+ D.map (`getIndexUnsafe` arr) $ D.enumerateFromToIntegral 0 (arrLen - 1)
173{-# INLINE_NORMAL readRev #-}
173{-# INLINE_NORMAL readRev #-}
174readRev :: Monad m => Array a -> Stream m a
174readRev :: Monad m => Array a -> Stream m a
175readRev arr@Array{..} =
175readRev arr@Array{..} =
176− D.map (getIndexUnsafe arr)
176+ D.map (`getIndexUnsafe` arr)
177 $ D.enumerateFromThenToIntegral (arrLen - 1) (arrLen - 2) 0
177 $ D.enumerateFromThenToIntegral (arrLen - 1) (arrLen - 2) 0
179-------------------------------------------------------------------------------
179-------------------------------------------------------------------------------
@@ -205,8 +205,8 @@ streamFold f arr = f (read arr)
206-- @since 0.8.0
206-- @since 0.8.0
207{-# INLINE getIndexUnsafe #-}
207{-# INLINE getIndexUnsafe #-}
208−getIndexUnsafe :: Array a -> Int -> a
208+getIndexUnsafe :: Int -> Array a -> a
209−getIndexUnsafe arr i =
209+getIndexUnsafe i arr =
210 unsafePerformIO $ MArray.getIndexUnsafe i (unsafeThaw arr)
210 unsafePerformIO $ MArray.getIndexUnsafe i (unsafeThaw arr)
212{-# INLINE writeLastN #-}
212{-# INLINE writeLastN #-}
@@ -268,9 +268,9 @@ strip p arr =
268 getIndexR idx
268 getIndexR idx
269 | idx < 0 = idx
269 | idx < 0 = idx
270 | otherwise =
270 | otherwise =
271− if p (getIndexUnsafe arr idx) then getIndexR (idx - 1) else idx
271+ if p (getIndexUnsafe idx arr) then getIndexR (idx - 1) else idx
273− getIndexL idx = if p (getIndexUnsafe arr idx)
273+ getIndexL idx = if p (getIndexUnsafe idx arr)
274 then getIndexL (idx + 1)
274 then getIndexL (idx + 1)
@@ -289,8 +289,8 @@ instance Eq a => Eq (Array a) where
290 | i < 0 = True
290 | i < 0 = True
291 | otherwise =
291 | otherwise =
292− let v1 = getIndexUnsafe a1 i
292+ let v1 = getIndexUnsafe i a1
293− v2 = getIndexUnsafe a2 i
293+ v2 = getIndexUnsafe i a2
294 in v1 == v2 && loop (i - 1)
294 in v1 == v2 && loop (i - 1)
296instance Ord a => Ord (Array a) where
296instance Ord a => Ord (Array a) where
@@ -308,8 +308,8 @@ instance Ord a => Ord (Array a) where
309 | i >= lenA1 = EQ
309 | i >= lenA1 = EQ
310 | otherwise =
310 | otherwise =
311− let v1 = getIndexUnsafe a1 i
311+ let v1 = getIndexUnsafe i a1
312− v2 = getIndexUnsafe a2 i
312+ v2 = getIndexUnsafe i a2
313 in case compare v1 v2 of
313 in case compare v1 v2 of