@@ -477,8 +477,8 @@ withNewArrayUnsafe count f = do
477-- /Pre-release/
477-- /Pre-release/
478{-# INLINE putIndexUnsafe #-}
478{-# INLINE putIndexUnsafe #-}
479putIndexUnsafe :: forall m a. (MonadIO m, Unbox a)
479putIndexUnsafe :: forall m a. (MonadIO m, Unbox a)
480− => Int -> a -> Array a -> m ()
480+ => Int -> Array a -> a -> m ()
481−putIndexUnsafe i x Array{..} = do
481+putIndexUnsafe i Array{..} x = do
482 let index = INDEX_OF(arrStart, i, a)
482 let index = INDEX_OF(arrStart, i, a)
483 assert (i >= 0 && INDEX_VALID(index, arrEnd, a)) (return ())
483 assert (i >= 0 && INDEX_VALID(index, arrEnd, a)) (return ())
484 liftIO $ pokeWith arrContents index x
484 liftIO $ pokeWith arrContents index x
@@ -490,13 +490,13 @@ invalidIndex label i =
490-- | /O(1)/ Write the given element at the given index in the array.
490-- | /O(1)/ Write the given element at the given index in the array.
491-- Performs in-place mutation of the array.
491-- Performs in-place mutation of the array.
493−-- >>> putIndex arr ix val = Array.modifyIndex ix (const (val, ())) arr
493+-- >>> putIndex ix arr val = Array.modifyIndex ix arr (const (val, ()))
494-- >>> f = Array.putIndices
494-- >>> f = Array.putIndices
495−-- >>> putIndex ix val arr = Stream.fold (f arr) (Stream.fromPure (ix, val))
495+-- >>> putIndex ix arr val = Stream.fold (f arr) (Stream.fromPure (ix, val))
497{-# INLINE putIndex #-}
497{-# INLINE putIndex #-}
498−putIndex :: forall m a. (MonadIO m, Unbox a) => Int -> a -> Array a -> m ()
498+putIndex :: forall m a. (MonadIO m, Unbox a) => Int -> Array a -> a -> m ()
499−putIndex i x Array{..} = do
499+putIndex i Array{..} x = do
500 let index = INDEX_OF(arrStart,i,a)
500 let index = INDEX_OF(arrStart,i,a)
501 if i >= 0 && INDEX_VALID(index,arrEnd,a)
501 if i >= 0 && INDEX_VALID(index,arrEnd,a)
502 then liftIO $ pokeWith arrContents index x
502 then liftIO $ pokeWith arrContents index x
@@ -513,14 +513,14 @@ putIndices arr = FL.foldlM' step (return ())
516− step () (i, x) = liftIO (putIndex i x arr)
516+ step () (i, x) = liftIO (putIndex i arr x)
518-- | Modify a given index of an array using a modifier function.
518-- | Modify a given index of an array using a modifier function.
520-- /Pre-release/
520-- /Pre-release/
521modifyIndexUnsafe :: forall m a b. (MonadIO m, Unbox a) =>
521modifyIndexUnsafe :: forall m a b. (MonadIO m, Unbox a) =>
522− Int -> (a -> (a, b)) -> Array a -> m b
522+ Int -> Array a -> (a -> (a, b)) -> m b
523−modifyIndexUnsafe i f Array{..} = liftIO $ do
523+modifyIndexUnsafe i Array{..} f = liftIO $ do
524 let index = INDEX_OF(arrStart,i,a)
524 let index = INDEX_OF(arrStart,i,a)
525 assert (i >= 0 && INDEX_NEXT(index,a) <= arrEnd) (return ())
525 assert (i >= 0 && INDEX_NEXT(index,a) <= arrEnd) (return ())
526 r <- peekWith arrContents index
526 r <- peekWith arrContents index
@@ -532,8 +532,8 @@ modifyIndexUnsafe i f Array{..} = liftIO $ do
533-- /Pre-release/
533-- /Pre-release/
534modifyIndex :: forall m a b. (MonadIO m, Unbox a) =>
534modifyIndex :: forall m a b. (MonadIO m, Unbox a) =>
535− Int -> (a -> (a, b)) -> Array a -> m b
535+ Int -> Array a -> (a -> (a, b)) -> m b
536−modifyIndex i f Array{..} = do
536+modifyIndex i Array{..} f = do
537 let index = INDEX_OF(arrStart,i,a)
537 let index = INDEX_OF(arrStart,i,a)
538 if i >= 0 && INDEX_VALID(index,arrEnd,a)
538 if i >= 0 && INDEX_VALID(index,arrEnd,a)
539 then liftIO $ do
539 then liftIO $ do
@@ -549,8 +549,8 @@ modifyIndex i f Array{..} = do
549-- /Pre-release/
549-- /Pre-release/
550{-# INLINE modifyIndices #-}
550{-# INLINE modifyIndices #-}
551modifyIndices :: forall m a . (MonadIO m, Unbox a)
551modifyIndices :: forall m a . (MonadIO m, Unbox a)
552− => (Int -> a -> a) -> Array a -> Fold m Int ()
552+ => Array a -> (Int -> a -> a) -> Fold m Int ()
553−modifyIndices f arr = FL.foldlM' step initial
553+modifyIndices arr f = FL.foldlM' step initial
@@ -558,14 +558,14 @@ modifyIndices f arr = FL.foldlM' step initial
559 step () i =
559 step () i =
560 let f1 x = (f i x, ())
560 let f1 x = (f i x, ())
561− in modifyIndex i f1 arr
561+ in modifyIndex i arr f1
563-- | Modify each element of an array using the supplied modifier function.
563-- | Modify each element of an array using the supplied modifier function.
565-- /Pre-release/
565-- /Pre-release/
566modify :: forall m a. (MonadIO m, Unbox a)
566modify :: forall m a. (MonadIO m, Unbox a)
567− => (a -> a) -> Array a -> m ()
567+ => Array a -> (a -> a) -> m ()
568−modify f Array{..} = liftIO $
568+modify Array{..} f = liftIO $
569 go arrStart
569 go arrStart
@@ -2341,7 +2341,7 @@ bubble cmp0 arr =
2341 x1 <- getIndexUnsafe i arr
2341 x1 <- getIndexUnsafe i arr
2342 case x `cmp0` x1 of
2342 case x `cmp0` x1 of
2343 LT -> do
2343 LT -> do
2344− putIndexUnsafe (i + 1) x1 arr
2344+ putIndexUnsafe (i + 1) arr x1
2345 go x (i - 1)
2345 go x (i - 1)
2346− _ -> putIndexUnsafe (i + 1) x arr
2346+ _ -> putIndexUnsafe (i + 1) arr x
2347− else putIndexUnsafe (i + 1) x arr
2347+ else putIndexUnsafe (i + 1) arr x