@@ -545,8 +545,8 @@ withNewArrayUnsafe count f = do
545-- /Pre-release/
545-- /Pre-release/
546{-# INLINE putIndexUnsafe #-}
546{-# INLINE putIndexUnsafe #-}
547putIndexUnsafe :: forall m a. (MonadIO m, Storable a)
547putIndexUnsafe :: forall m a. (MonadIO m, Storable a)
548− => Array a -> Int -> a -> m ()
548+ => Int -> a -> Array a -> m ()
549−putIndexUnsafe Array{..} i x =
549+putIndexUnsafe i x Array{..} =
550 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
550 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
551 let elemPtr = PTR_INDEX(ptr,i,a)
551 let elemPtr = PTR_INDEX(ptr,i,a)
552 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
552 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
@@ -568,14 +568,14 @@ putIndexPtr start end i x = do
568-- | /O(1)/ Write the given element at the given index in the array.
568-- | /O(1)/ Write the given element at the given index in the array.
569-- Performs in-place mutation of the array.
569-- Performs in-place mutation of the array.
571−-- >>> putIndex arr ix val = Array.modifyIndex arr ix (const (val, ()))
571+-- >>> putIndex arr ix val = Array.modifyIndex ix (const (val, ())) arr
572-- >>> f = Array.putIndices
572-- >>> 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))
575-- /Pre-release/
575-- /Pre-release/
576{-# INLINE putIndex #-}
576{-# INLINE putIndex #-}
577−putIndex :: (MonadIO m, Storable a) => Array a -> Int -> a -> m ()
577+putIndex :: (MonadIO m, Storable a) => Int -> a -> Array a -> m ()
578−putIndex arr i x =
578+putIndex i x arr =
579 unsafeWithArrayContents (arrContents arr) (arrStart arr)
579 unsafeWithArrayContents (arrContents arr) (arrStart arr)
580 $ \p -> putIndexPtr p (aEnd arr) i x
580 $ \p -> putIndexPtr p (aEnd arr) i x
@@ -600,8 +600,8 @@ putIndices Array{..} = FL.mkFoldM step initial extract
601-- /Pre-release/
601-- /Pre-release/
602modifyIndexUnsafe :: forall m a b. (MonadIO m, Storable a) =>
602modifyIndexUnsafe :: forall m a b. (MonadIO m, Storable a) =>
603− Array a -> Int -> (a -> (a, b)) -> m b
603+ Int -> (a -> (a, b)) -> Array a -> m b
604−modifyIndexUnsafe Array{..} i f = do
604+modifyIndexUnsafe i f Array{..} = do
605 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
605 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
606 let elemPtr = PTR_INDEX(ptr,i,a)
606 let elemPtr = PTR_INDEX(ptr,i,a)
607 assert (i >= 0 && PTR_NEXT(elemPtr,a) <= aEnd) (return ())
607 assert (i >= 0 && PTR_NEXT(elemPtr,a) <= aEnd) (return ())
@@ -627,8 +627,8 @@ modifyIndexPtr i f start end = liftIO $ do
628-- /Pre-release/
628-- /Pre-release/
629modifyIndex :: forall m a b. (MonadIO m, Storable a) =>
629modifyIndex :: forall m a b. (MonadIO m, Storable a) =>
630− Array a -> Int -> (a -> (a, b)) -> m b
630+ Int -> (a -> (a, b)) -> Array a -> m b
631−modifyIndex Array{..} i f = do
631+modifyIndex i f Array{..} = do
632 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
632 liftIO $ unsafeWithArrayContents arrContents arrStart $ \ptr -> do
633 modifyIndexPtr i f ptr aEnd
633 modifyIndexPtr i f ptr aEnd
@@ -654,8 +654,8 @@ modifyIndices f Array{..} = Fold step initial extract
655-- /Pre-release/
655-- /Pre-release/
656modify :: forall m a. (MonadIO m, Storable a)
656modify :: forall m a. (MonadIO m, Storable a)
657− => Array a -> (a -> a) -> m ()
657+ => (a -> a) -> Array a -> m ()
658−modify Array{..} f = liftIO $
658+modify f Array{..} = liftIO $
659 unsafeWithArrayContents arrContents arrStart go
659 unsafeWithArrayContents arrContents arrStart go
@@ -681,8 +681,8 @@ swapPtrs ptr1 ptr2 = do
681-- /Pre-release/
681-- /Pre-release/
682{-# INLINE unsafeSwapIndices #-}
682{-# INLINE unsafeSwapIndices #-}
683unsafeSwapIndices :: forall m a. (MonadIO m, Storable a)
683unsafeSwapIndices :: forall m a. (MonadIO m, Storable a)
684− => Array a -> Int -> Int -> m ()
684+ => Int -> Int -> Array a -> m ()
685−unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
685+unsafeSwapIndices i1 i2 Array{..} = liftIO $ do
686 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
686 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
687 let ptr1 = PTR_INDEX(ptr,i1,a)
687 let ptr1 = PTR_INDEX(ptr,i1,a)
688 ptr2 = PTR_INDEX(ptr,i2,a)
688 ptr2 = PTR_INDEX(ptr,i2,a)
@@ -692,8 +692,8 @@ unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
693-- /Pre-release/
693-- /Pre-release/
694swapIndices :: forall m a. (MonadIO m, Storable a)
694swapIndices :: forall m a. (MonadIO m, Storable a)
695− => Array a -> Int -> Int -> m ()
695+ => Int -> Int -> Array a -> m ()
696−swapIndices Array{..} i1 i2 = liftIO $ do
696+swapIndices i1 i2 Array{..} = liftIO $ do
697 let ptr1 = PTR_INDEX(arrStart,i1,a)
697 let ptr1 = PTR_INDEX(arrStart,i1,a)
698 ptr2 = PTR_INDEX(arrStart,i2,a)
698 ptr2 = PTR_INDEX(arrStart,i2,a)
699 when (i1 < 0 || PTR_INVALID(ptr1,aEnd,a))
699 when (i1 < 0 || PTR_INVALID(ptr1,aEnd,a))
@@ -1048,8 +1048,8 @@ snoc = snocWith f
1049-- Unsafe because it does not check the bounds of the array.
1049-- Unsafe because it does not check the bounds of the array.
1050{-# INLINE_NORMAL getIndexUnsafe #-}
1050{-# INLINE_NORMAL getIndexUnsafe #-}
1051−getIndexUnsafe :: forall m a. (MonadIO m, Storable a) => Array a -> Int -> m a
1051+getIndexUnsafe :: forall m a. (MonadIO m, Storable a) => Int -> Array a -> m a
1052−getIndexUnsafe Array {..} i =
1052+getIndexUnsafe i Array {..} =
1053 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
1053 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
1054 let elemPtr = PTR_INDEX(ptr,i,a)
1054 let elemPtr = PTR_INDEX(ptr,i,a)
1055 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
1055 assert (i >= 0 && PTR_VALID(elemPtr,aEnd,a)) (return ())
@@ -1067,8 +1067,8 @@ getIndexPtr start end i = do
1067-- | /O(1)/ Lookup the element at the given index. Index starts from 0.
1067-- | /O(1)/ Lookup the element at the given index. Index starts from 0.
1069{-# INLINE getIndex #-}
1069{-# INLINE getIndex #-}
1070−getIndex :: (MonadIO m, Storable a) => Array a -> Int -> m a
1070+getIndex :: (MonadIO m, Storable a) => Int -> Array a -> m a
1071−getIndex arr i =
1071+getIndex i arr =
1072 unsafeWithArrayContents (arrContents arr) (arrStart arr)
1072 unsafeWithArrayContents (arrContents arr) (arrStart arr)
1073 $ \p -> getIndexPtr p (aEnd arr) i
1073 $ \p -> getIndexPtr p (aEnd arr) i
@@ -1087,8 +1087,8 @@ getIndexPtrRev start end i = do
1087-- Slightly faster than computing the forward index and using getIndex.
1087-- Slightly faster than computing the forward index and using getIndex.
1089{-# INLINE getIndexRev #-}
1089{-# INLINE getIndexRev #-}
1090−getIndexRev :: (MonadIO m, Storable a) => Array a -> Int -> m a
1090+getIndexRev :: (MonadIO m, Storable a) => Int -> Array a -> m a
1091−getIndexRev arr i =
1091+getIndexRev i arr =
1092 unsafeWithArrayContents (arrContents arr) (arrStart arr)
1092 unsafeWithArrayContents (arrContents arr) (arrStart arr)
1093 $ \p -> getIndexPtrRev p (aEnd arr) i
1093 $ \p -> getIndexPtrRev p (aEnd arr) i