on master help sign in
Change the signature order for Foreign.getIndex
commit22e8ad3b996b89893dd596368c299e0200335f3d authorAdithya Kumar <adithya@composewell.com> dateSun 6 Feb 2022, 03:54 (5 years ago) parentdf6750b
3 files changed+5−7
benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs+1−1 src/Streamly/Internal/Data/Array/Foreign.hs+2−4 src/Streamly/Internal/FileSystem/Event/Linux.hs+2−2
benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs+1−1
@@ -85,7 +85,7 @@ toChunksLast inh = do
8585 larr <- Stream.last s
8686 return $ case larr of
8787 Nothing -> Nothing
88− Just arr -> Array.getIndex arr (Array.length arr - 1)
88+ Just arr -> Array.getIndex (Array.length arr - 1) arr
8989
9090#ifdef INSPECTION
9191inspect $ hasNoTypeClasses 'toChunksLast
src/Streamly/Internal/Data/Array/Foreign.hs+2−4
@@ -425,14 +425,12 @@ getSlicesFromLen from len =
425425-- XXX Change this to a partial function instead of a Maybe type? And use
426426-- MA.getIndex instead.
427427--
428−-- XXX The signature should be "Int -> Array a -> Maybe a"
429−-- XXX This is a released API so make this change in the next major release.
430428-- | /O(1)/ Lookup the element at the given index. Index starts from 0.
431429--
432430-- @since 0.8.0
433431{-# INLINE getIndex #-}
434−getIndex :: forall a. Storable a => Array a -> Int -> Maybe a
435−getIndex arr i =
432+getIndex :: forall a. Storable a => Int -> Array a -> Maybe a
433+getIndex i arr =
436434 unsafeInlineIO
437435 $ asPtrUnsafe arr
438436 $ \ptr -> do
src/Streamly/Internal/FileSystem/Event/Linux.hs+2−2
@@ -658,7 +658,7 @@ ensureTrailingSlash :: Array Word8 -> Array Word8
658658ensureTrailingSlash path =
659659 if byteLength path /= 0
660660 then
661− let mx = A.getIndex path (byteLength path - 1)
661+ let mx = A.getIndex (byteLength path - 1) path
662662 in case mx of
663663 Nothing -> error "ensureTrailingSlash: Bug: Invalid index"
664664 Just x ->
@@ -672,7 +672,7 @@ removeTrailingSlash path =
672672 if byteLength path /= 0
673673 then
674674 let n = byteLength path - 1
675− mx = A.getIndex path n
675+ mx = A.getIndex n path
676676 in case mx of
677677 Nothing -> error "removeTrailingSlash: Bug: Invalid index"
678678 Just x ->