bitstream-0.3.0.2: Fast, packed, strict and lazy bit streams with stream fusion
Safe HaskellNone
LanguageHaskell2010

Data.Bitstream.Fusion.Monadic

Description

Some functions currently missing from Data.Vector.Fusion.Stream.Monadic.

Documentation

genericLength :: (Monad m, Num n) => Stream m α -> m n Source #

genericTake :: forall (m :: Type -> Type) n α. (Monad m, Integral n) => n -> Stream m α -> Stream m α Source #

genericDrop :: forall (m :: Type -> Type) n α. (Monad m, Integral n) => n -> Stream m α -> Stream m α Source #

genericIndex :: (MonadFail m, Monad m, Integral n, Show n) => Stream m α -> n -> m α Source #

genericReplicate :: forall (m :: Type -> Type) n α. (Monad m, Integral n) => n -> α -> Stream m α Source #

genericReplicateM :: (Monad m, Integral n) => n -> m α -> Stream m α Source #

genericUnfoldrN :: forall (m :: Type -> Type) n β α. (Monad m, Integral n) => n -> (β -> Maybe (α, β)) -> β -> Stream m α Source #

genericUnfoldrNM :: (Monad m, Integral n) => n -> (β -> m (Maybe (α, β))) -> β -> Stream m α Source #

genericFindIndex :: (Monad m, Integral n) => (α -> Bool) -> Stream m α -> m (Maybe n) Source #

genericFindIndexM :: (Monad m, Integral n) => (α -> m Bool) -> Stream m α -> m (Maybe n) Source #

genericIndexed :: forall (m :: Type -> Type) n α. (Monad m, Integral n) => Stream m α -> Stream m (n, α) Source #