@@ -500,7 +500,7 @@ putIndexUnsafe :: forall m a. (MonadIO m, Unbox a)
500500putIndexUnsafe i MutArray{..} x = do
501501 let index = INDEX_OF(arrStart, i, a)
502502 assert (i >= 0 && INDEX_VALID(index, arrEnd, a)) (return ())
503− liftIO $ pokeByteIndex index arrContents x
503+ liftIO $ pokeAt index arrContents x
504504
505505invalidIndex :: String -> Int -> a
506506invalidIndex label i =
@@ -518,7 +518,7 @@ putIndex :: forall m a. (MonadIO m, Unbox a) => Int -> MutArray a -> a -> m ()
518518putIndex i MutArray{..} x = do
519519 let index = INDEX_OF(arrStart,i,a)
520520 if i >= 0 && INDEX_VALID(index,arrEnd,a)
521− then liftIO $ pokeByteIndex index arrContents x
521+ then liftIO $ pokeAt index arrContents x
522522 else invalidIndex "putIndex" i
523523
524524-- | Write an input stream of (index, value) pairs to an array. Throws an
@@ -544,9 +544,9 @@ modifyIndexUnsafe :: forall m a b. (MonadIO m, Unbox a) =>
544544modifyIndexUnsafe i MutArray{..} f = liftIO $ do
545545 let index = INDEX_OF(arrStart,i,a)
546546 assert (i >= 0 && INDEX_NEXT(index,a) <= arrEnd) (return ())
547− r <- peekByteIndex index arrContents
547+ r <- peekAt index arrContents
548548 let (x, res) = f r
549− pokeByteIndex index arrContents x
549+ pokeAt index arrContents x
550550 return res
551551
552552-- | Modify a given index of an array using a modifier function.
@@ -558,9 +558,9 @@ modifyIndex i MutArray{..} f = do
558558 let index = INDEX_OF(arrStart,i,a)
559559 if i >= 0 && INDEX_VALID(index,arrEnd,a)
560560 then liftIO $ do
561− r <- peekByteIndex index arrContents
561+ r <- peekAt index arrContents
562562 let (x, res) = f r
563− pokeByteIndex index arrContents x
563+ pokeAt index arrContents x
564564 return res
565565 else invalidIndex "modifyIndex" i
566566
@@ -594,8 +594,8 @@ modify MutArray{..} f = liftIO $
594594
595595 go i =
596596 when (INDEX_VALID(i,arrEnd,a)) $ do
597− r <- peekByteIndex i arrContents
598− pokeByteIndex i arrContents (f r)
597+ r <- peekAt i arrContents
598+ pokeAt i arrContents (f r)
599599 go (INDEX_NEXT(i,a))
600600
601601-- XXX We could specify the number of bytes to swap instead of Proxy. Need
@@ -609,10 +609,10 @@ swapArrayByteIndices ::
609609 -> Int
610610 -> IO ()
611611swapArrayByteIndices _ arrContents i1 i2 = do
612− r1 <- peekByteIndex i1 arrContents
613− r2 <- peekByteIndex i2 arrContents
614− pokeByteIndex i1 arrContents (r2 :: a)
615− pokeByteIndex i2 arrContents (r1 :: a)
612+ r1 <- peekAt i1 arrContents
613+ r2 <- peekAt i2 arrContents
614+ pokeAt i1 arrContents (r2 :: a)
615+ pokeAt i2 arrContents (r1 :: a)
616616
617617-- | Swap the elements at two indices without validating the indices.
618618--
@@ -889,7 +889,7 @@ rightSize arr@MutArray{..} = do
889889snocNewEnd :: (MonadIO m, Unbox a) => Int -> MutArray a -> a -> m (MutArray a)
890890snocNewEnd newEnd arr@MutArray{..} x = liftIO $ do
891891 assert (newEnd <= arrBound) (return ())
892− pokeByteIndex arrEnd arrContents x
892+ pokeAt arrEnd arrContents x
893893 return $ arr {arrEnd = newEnd}
894894
895895-- | Really really unsafe, appends the element into the first array, may
@@ -1003,7 +1003,7 @@ getIndexUnsafe :: forall m a. (MonadIO m, Unbox a) => Int -> MutArray a -> m a
10031003getIndexUnsafe i MutArray{..} = do
10041004 let index = INDEX_OF(arrStart,i,a)
10051005 assert (i >= 0 && INDEX_VALID(index,arrEnd,a)) (return ())
1006− liftIO $ peekByteIndex index arrContents
1006+ liftIO $ peekAt index arrContents
10071007
10081008-- | /O(1)/ Lookup the element at the given index. Index starts from 0.
10091009--
@@ -1012,7 +1012,7 @@ getIndex :: forall m a. (MonadIO m, Unbox a) => Int -> MutArray a -> m (Maybe a)
10121012getIndex i MutArray{..} = do
10131013 let index = INDEX_OF(arrStart,i,a)
10141014 if i >= 0 && INDEX_VALID(index,arrEnd,a)
1015− then liftIO $ Just <$> peekByteIndex index arrContents
1015+ then liftIO $ Just <$> peekAt index arrContents
10161016 else return Nothing
10171017
10181018-- | /O(1)/ Lookup the element at the given index from the end of the array.
@@ -1025,7 +1025,7 @@ getIndexRev :: forall m a. (MonadIO m, Unbox a) => Int -> MutArray a -> m a
10251025getIndexRev i MutArray{..} = do
10261026 let index = RINDEX_OF(arrEnd,i,a)
10271027 if i >= 0 && index >= arrStart
1028− then liftIO $ peekByteIndex index arrContents
1028+ then liftIO $ peekAt index arrContents
10291029 else invalidIndex "getIndexRev" i
10301030
10311031data GetIndicesState contents start end st =
@@ -1165,7 +1165,7 @@ partitionBy f arr@MutArray{..} = liftIO $ do
11651165
11661166 -- Invariant low < high on entry, and on return as well
11671167 moveHigh low high = do
1168− h <- peekByteIndex high arrContents
1168+ h <- peekAt high arrContents
11691169 if f h
11701170 then
11711171 -- Correctly classified, continue the loop
@@ -1185,7 +1185,7 @@ partitionBy f arr@MutArray{..} = liftIO $ do
11851185 -- low <= high
11861186 -- Both low and high are valid locations within the array
11871187 go low high = do
1188− l <- peekByteIndex low arrContents
1188+ l <- peekAt low arrContents
11891189 if f l
11901190 then
11911191 -- low is wrongly classified
@@ -1196,8 +1196,8 @@ partitionBy f arr@MutArray{..} = liftIO $ do
11961196 case r of
11971197 Nothing -> return low
11981198 Just (high1, h) -> do -- low < high1
1199− pokeByteIndex low arrContents h
1200− pokeByteIndex high1 arrContents l
1199+ pokeAt low arrContents h
1200+ pokeAt high1 arrContents l
12011201 let low1 = INDEX_NEXT(low,a)
12021202 high2 = INDEX_PREV(high1,a)
12031203 if low1 <= high2
@@ -1331,7 +1331,7 @@ chunksOfAs ps n (D.Stream step state) =
13311331 r <- step (adaptState gst) st
13321332 case r of
13331333 D.Yield x s -> do
1334− liftIO $ pokeByteIndex end contents x
1334+ liftIO $ pokeAt end contents x
13351335 let end1 = INDEX_NEXT(end,a)
13361336 return $
13371337 if end1 >= bound
@@ -1418,7 +1418,7 @@ flattenArrays (D.Stream step state) = D.Stream step' (OuterLoop state)
14181418 return $ D.Skip $ OuterLoop st
14191419
14201420 step' _ (InnerLoop st contents p end) = do
1421− x <- liftIO $ peekByteIndex p contents
1421+ x <- liftIO $ peekAt p contents
14221422 return $ D.Yield x (InnerLoop st contents (INDEX_NEXT(p,a)) end)
14231423
14241424-- | Use the "readerRev" unfold instead.
@@ -1448,7 +1448,7 @@ flattenArraysRev (D.Stream step state) = D.Stream step' (OuterLoop state)
14481448 return $ D.Skip $ OuterLoop st
14491449
14501450 step' _ (InnerLoop st contents p start) = do
1451− x <- liftIO $ peekByteIndex p contents
1451+ x <- liftIO $ peekAt p contents
14521452 let cur = INDEX_PREV(p,a)
14531453 return $ D.Yield x (InnerLoop st contents cur start)
14541454
@@ -1487,7 +1487,7 @@ producerWith liftio = Producer step (return . toArrayUnsafe) extract
14871487 -- few actions for correctness and execution order sanity. We want
14881488 -- the peek to occur right here and not lazily at some later point
14891489 -- because we want the peek to be ordered with respect to the touch.
1490− !x <- liftio $ peekByteIndex cur contents
1490+ !x <- liftio $ peekAt cur contents
14911491 return $ D.Yield x (ArrayUnsafe contents (INDEX_NEXT(cur,a)) end)
14921492
14931493 extract = return . fromArrayUnsafe
@@ -1518,7 +1518,7 @@ readerRevWith liftio = Unfold step inject
15181518 {-# INLINE_LATE step #-}
15191519 step (ArrayUnsafe _ start p) | p < start = return D.Stop
15201520 step (ArrayUnsafe contents start p) = do
1521− !x <- liftio $ peekByteIndex p contents
1521+ !x <- liftio $ peekAt p contents
15221522 return $ D.Yield x (ArrayUnsafe contents start (INDEX_PREV(p,a)))
15231523
15241524-- | Unfold an array into a stream in reverse order.
@@ -1549,7 +1549,7 @@ toListFB c n MutArray{..} = go arrStart
15491549 -- evaluated/written to before we peek at them.
15501550 -- XXX
15511551 let !x = unsafeInlineIO $ do
1552− r <- peekByteIndex arrContents p
1552+ r <- peekAt arrContents p
15531553 return r
15541554 in c x (go (PTR_NEXT(p,a)))
15551555-}
@@ -1566,7 +1566,7 @@ toList MutArray{..} = liftIO $ go arrStart
15661566
15671567 go p | assert (p <= arrEnd) (p == arrEnd) = return []
15681568 go p = do
1569− x <- peekByteIndex p arrContents
1569+ x <- peekAt p arrContents
15701570 (:) x <$> go (INDEX_NEXT(p,a))
15711571
15721572{-# INLINE_NORMAL toStreamDWith #-}
@@ -1580,7 +1580,7 @@ toStreamDWith liftio MutArray{..} = D.Stream step arrStart
15801580 {-# INLINE_LATE step #-}
15811581 step _ p | assert (p <= arrEnd) (p == arrEnd) = return D.Stop
15821582 step _ p = liftio $ do
1583− r <- peekByteIndex p arrContents
1583+ r <- peekAt p arrContents
15841584 return $ D.Yield r (INDEX_NEXT(p,a))
15851585
15861586-- | Convert a 'MutArray' into a stream.
@@ -1601,7 +1601,7 @@ toStreamKWith liftio MutArray{..} = go arrStart
16011601
16021602 go p | assert (p <= arrEnd) (p == arrEnd) = K.nil
16031603 | otherwise =
1604− let elemM = peekByteIndex p arrContents
1604+ let elemM = peekAt p arrContents
16051605 in liftio elemM `K.consM` go (INDEX_NEXT(p,a))
16061606
16071607{-# INLINE toStreamK #-}
@@ -1621,7 +1621,7 @@ toStreamDRevWith liftio MutArray{..} =
16211621 {-# INLINE_LATE step #-}
16221622 step _ p | p < arrStart = return D.Stop
16231623 step _ p = liftio $ do
1624− r <- peekByteIndex p arrContents
1624+ r <- peekAt p arrContents
16251625 return $ D.Yield r (INDEX_PREV(p,a))
16261626
16271627-- | Convert a 'MutArray' into a stream in reverse order.
@@ -1644,7 +1644,7 @@ toStreamKRevWith liftio MutArray {..} =
16441644
16451645 go p | p < arrStart = K.nil
16461646 | otherwise =
1647− let elemM = peekByteIndex p arrContents
1647+ let elemM = peekAt p arrContents
16481648 in liftio elemM `K.consM` go (INDEX_PREV(p,a))
16491649
16501650{-# INLINE toStreamKRev #-}
@@ -1712,7 +1712,7 @@ writeAppendNUnsafe n action =
17121712 return $ toArrayUnsafe arr1
17131713
17141714 step (ArrayUnsafe contents start end) x = do
1715− liftIO $ pokeByteIndex end contents x
1715+ liftIO $ pokeAt end contents x
17161716 return $ ArrayUnsafe contents start (INDEX_NEXT(end,a))
17171717
17181718-- | Append @n@ elements to an existing array. Any free space left in the array
@@ -1772,7 +1772,7 @@ writeNWithUnsafe alloc n = fromArrayUnsafe <$> FL.foldlM' step initial
17721772 initial = toArrayUnsafe <$> alloc (max n 0)
17731773
17741774 step (ArrayUnsafe contents start end) x = do
1775− liftIO $ pokeByteIndex end contents x
1775+ liftIO $ pokeAt end contents x
17761776 return
17771777 $ ArrayUnsafe contents start (INDEX_NEXT(end,a))
17781778
@@ -1855,7 +1855,7 @@ writeRevNWithUnsafe alloc n = fromArrayUnsafe <$> FL.foldlM' step initial
18551855
18561856 step (ArrayUnsafe contents start end) x = do
18571857 let ptr = INDEX_PREV(start,a)
1858− liftIO $ pokeByteIndex ptr contents x
1858+ liftIO $ pokeAt ptr contents x
18591859 return
18601860 $ ArrayUnsafe contents ptr end
18611861
@@ -1994,7 +1994,7 @@ fromStreamDNAs ps limit str = do
19941994 where
19951995
19961996 fwrite arrContents ptr x = do
1997− liftIO $ pokeByteIndex ptr arrContents x
1997+ liftIO $ pokeAt ptr arrContents x
19981998 return $ INDEX_NEXT(ptr,a)
19991999
20002000-- | Use the 'writeN' fold instead.
@@ -2416,7 +2416,7 @@ strip eq arr@MutArray{..} = liftIO $ do
24162416 getStart cur = do
24172417 if cur < arrEnd
24182418 then do
2419− r <- peekByteIndex cur arrContents
2419+ r <- peekAt cur arrContents
24202420 if eq r
24212421 then getStart (INDEX_NEXT(cur,a))
24222422 else return cur
@@ -2426,7 +2426,7 @@ strip eq arr@MutArray{..} = liftIO $ do
24262426 if cur > low
24272427 then do
24282428 let prev = INDEX_PREV(cur,a)
2429− r <- peekByteIndex prev arrContents
2429+ r <- peekAt prev arrContents
24302430 if eq r
24312431 then getLast prev low
24322432 else return cur