@@ -420,6 +420,7 @@ module Streamly.Internal.Prelude
420 , evalStateT
420 , evalStateT
421 , usingStateT
421 , usingStateT
422 , runStateT
422 , runStateT
424 -- * MonadFix
425 -- * MonadFix
@@ -4487,3 +4488,16 @@ usingStateT s f xs = evalStateT s $ f $ liftInner xs
4487{-# INLINE runStateT #-}
4488{-# INLINE runStateT #-}
4488runStateT :: Monad m => s -> SerialT (StateT s m) a -> SerialT m (s, a)
4489runStateT :: Monad m => s -> SerialT (StateT s m) a -> SerialT m (s, a)
4489runStateT s xs = fromStreamD $ D.runStateT s (toStreamD xs)
4490runStateT s xs = fromStreamD $ D.runStateT s (toStreamD xs)
4492+-- | Run a stream transformation using a given environment.
4496+{-# INLINE usingReaderT #-}
4498+ :: (Monad m, IsStream t)
4500+ -> (t (ReaderT r m) a -> t (ReaderT r m) a)
4503+usingReaderT r f xs = runReaderT r $ f $ liftInner xs