foldl-1.4.9: src/Control/Foldl/Util/MVector.hs
{-# LANGUAGE BangPatterns #-}
module Control.Foldl.Util.MVector
where
import Data.Vector.Generic.Mutable
import Control.Monad.ST
{-# INLINE writeListInReverseOrderStartingFrom #-}
writeListInReverseOrderStartingFrom :: MVector v a => v s a -> Int -> [a] -> ST s ()
writeListInReverseOrderStartingFrom v = let
loop !index list = case list of
h : t -> do
unsafeWrite v index h
loop (pred index) t
_ -> return ()
in loop