module AesonValueParser.Vector where import AesonValueParser.Prelude hiding (Vector) import qualified Data.Vector.Fusion.Bundle.Monadic as BundleM import Data.Vector.Generic {-# INLINE ifoldrM #-} ifoldrM :: (Vector v a, Monad m) => (Int -> a -> b -> m b) -> b -> v a -> m b ifoldrM :: forall (v :: * -> *) a (m :: * -> *) b. (Vector v a, Monad m) => (Int -> a -> b -> m b) -> b -> v a -> m b ifoldrM Int -> a -> b -> m b f b z = forall (m :: * -> *) a b (v :: * -> *). Monad m => (a -> b -> m b) -> b -> Bundle m v a -> m b BundleM.foldrM (forall a b c. (a -> b -> c) -> (a, b) -> c uncurry Int -> a -> b -> m b f) b z forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . forall (m :: * -> *) (v :: * -> *) a. Monad m => Bundle m v a -> Bundle m v (Int, a) BundleM.indexed forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . forall (m :: * -> *) (v :: * -> *) a. (Monad m, Vector v a) => v a -> Bundle m v a BundleM.fromVector