@@ -545,8 +545,8 @@ withNewArrayUnsafe count f = do
545545-- /Pre-release/
546546{-# INLINE putIndexUnsafe #-}
547547putIndexUnsafe :: forall m a. (MonadIO m, Storable a)
548− => Array a -> Int -> a -> m ()
549−putIndexUnsafe Array{..} i x =
548+ => Int -> a -> Array a -> m ()
549+putIndexUnsafe i x Array{..} =
550550 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
551551 let elemPtr = PTR_INDEX(ptr,i,a)
552552 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
@@ -568,14 +568,14 @@ putIndexPtr start end i x = do
568568-- | /O(1)/ Write the given element at the given index in the array.
569569-- Performs in-place mutation of the array.
570570--
571−-- >>> putIndex arr ix val = Array.modifyIndex arr ix (const (val, ()))
571+-- >>> putIndex arr ix val = Array.modifyIndex ix (const (val, ())) arr
572572-- >>> f = Array.putIndices
573−-- >>> putIndex arr ix val = Stream.fold (f arr) (Stream.fromPure (ix, val))
573+-- >>> putIndex ix val arr = Stream.fold (f arr) (Stream.fromPure (ix, val))
574574--
575575-- /Pre-release/
576576{-# INLINE putIndex #-}
577−putIndex :: (MonadIO m, Storable a) => Array a -> Int -> a -> m ()
578−putIndex arr i x =
577+putIndex :: (MonadIO m, Storable a) => Int -> a -> Array a -> m ()
578+putIndex i x arr =
579579 unsafeWithArrayContents (arrContents arr) (arrStart arr)
580580 $ \p -> putIndexPtr p (aEnd arr) i x
581581
@@ -600,8 +600,8 @@ putIndices Array{..} = FL.mkFoldM step initial extract
600600--
601601-- /Pre-release/
602602modifyIndexUnsafe :: forall m a b. (MonadIO m, Storable a) =>
603− Array a -> Int -> (a -> (a, b)) -> m b
604−modifyIndexUnsafe Array{..} i f = do
603+ Int -> (a -> (a, b)) -> Array a -> m b
604+modifyIndexUnsafe i f Array{..} = do
605605 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
606606 let elemPtr = PTR_INDEX(ptr,i,a)
607607 assert (i >= 0 && PTR_NEXT(elemPtr,a) <= aEnd) (return ())
@@ -627,8 +627,8 @@ modifyIndexPtr i f start end = liftIO $ do
627627--
628628-- /Pre-release/
629629modifyIndex :: forall m a b. (MonadIO m, Storable a) =>
630− Array a -> Int -> (a -> (a, b)) -> m b
631−modifyIndex Array{..} i f = do
630+ Int -> (a -> (a, b)) -> Array a -> m b
631+modifyIndex i f Array{..} = do
632632 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
633633 modifyIndexPtr i f ptr aEnd
634634
@@ -654,8 +654,8 @@ modifyIndices f Array{..} = Fold step initial extract
654654--
655655-- /Pre-release/
656656modify :: forall m a. (MonadIO m, Storable a)
657− => Array a -> (a -> a) -> m ()
658−modify Array{..} f = liftIO $
657+ => (a -> a) -> Array a -> m ()
658+modify f Array{..} = liftIO $
659659 unsafeWithArrayContents arrContents arrStart go
660660
661661 where
@@ -681,8 +681,8 @@ swapPtrs ptr1 ptr2 = do
681681-- /Pre-release/
682682{-# INLINE unsafeSwapIndices #-}
683683unsafeSwapIndices :: forall m a. (MonadIO m, Storable a)
684− => Array a -> Int -> Int -> m ()
685−unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
684+ => Int -> Int -> Array a -> m ()
685+unsafeSwapIndices i1 i2 Array{..} = liftIO $ do
686686 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
687687 let ptr1 = PTR_INDEX(ptr,i1,a)
688688 ptr2 = PTR_INDEX(ptr,i2,a)
@@ -692,8 +692,8 @@ unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
692692--
693693-- /Pre-release/
694694swapIndices :: forall m a. (MonadIO m, Storable a)
695− => Array a -> Int -> Int -> m ()
696−swapIndices Array{..} i1 i2 = liftIO $ do
695+ => Int -> Int -> Array a -> m ()
696+swapIndices i1 i2 Array{..} = liftIO $ do
697697 let ptr1 = PTR_INDEX(arrStart,i1,a)
698698 ptr2 = PTR_INDEX(arrStart,i2,a)
699699 when (i1 < 0 || PTR_INVALID(ptr1,aEnd,a))
@@ -1048,8 +1048,8 @@ snoc = snocWith f
10481048--
10491049-- Unsafe because it does not check the bounds of the array.
10501050{-# INLINE_NORMAL getIndexUnsafe #-}
1051−getIndexUnsafe :: forall m a. (MonadIO m, Storable a) => Array a -> Int -> m a
1052−getIndexUnsafe Array {..} i =
1051+getIndexUnsafe :: forall m a. (MonadIO m, Storable a) => Int -> Array a -> m a
1052+getIndexUnsafe i Array {..} =
10531053 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
10541054 let elemPtr = PTR_INDEX(ptr,i,a)
10551055 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
@@ -1067,8 +1067,8 @@ getIndexPtr start end i = do
10671067-- | /O(1)/ Lookup the element at the given index. Index starts from 0.
10681068--
10691069{-# INLINE getIndex #-}
1070−getIndex :: (MonadIO m, Storable a) => Array a -> Int -> m a
1071−getIndex arr i =
1070+getIndex :: (MonadIO m, Storable a) => Int -> Array a -> m a
1071+getIndex i arr =
10721072 unsafeWithArrayContents (arrContents arr) (arrStart arr)
10731073 $ \p -> getIndexPtr p (aEnd arr) i
10741074
@@ -1087,8 +1087,8 @@ getIndexPtrRev start end i = do
10871087-- Slightly faster than computing the forward index and using getIndex.
10881088--
10891089{-# INLINE getIndexRev #-}
1090−getIndexRev :: (MonadIO m, Storable a) => Array a -> Int -> m a
1091−getIndexRev arr i =
1090+getIndexRev :: (MonadIO m, Storable a) => Int -> Array a -> m a
1091+getIndexRev i arr =
10921092 unsafeWithArrayContents (arrContents arr) (arrStart arr)
10931093 $ \p -> getIndexPtrRev p (aEnd arr) i
10941094