Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- lifterS :: (Monad m, Monad m1) => ((a1 -> m1 (b1, MStreamF m1 a1 b1)) -> a -> m (b, MStreamF m1 a1 b1)) -> MStreamF m1 a1 b1 -> MStreamF m a b
- transS :: (Monad m1, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2
- transG1 :: (Monad m1, Functor m2, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2
- transG :: (Monad m1, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, Maybe c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2
- readerS' :: Monad m => MStreamF m (s, a) b -> MStreamF (ReaderT s m) a b
- runReaderS'' :: Monad m => MStreamF (ReaderT s m) a b -> MStreamF m (s, a) b
- runStateS''' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b)
- runMaybeS'' :: Monad m => MStreamF (MaybeT m) a b -> MStreamF m a (Maybe b)
- runReaderS' :: Monad m => MStreamF (ReaderT s m) a b -> MStreamF m (s, a) b
- type Wrapper m1 m2 t1 t2 = forall a b. (t1 a -> m2 b) -> a -> m1 (t2 b)
- type Unwrapper m1 m2 t1 t2 = forall a b. (a -> m1 (t2 b)) -> t1 a -> m2 b
- type Id a = a
- type ReaderWrapper s m = Wrapper (ReaderT s m) m ((,) s) Id
- type ReaderUnwrapper s m = Unwrapper (ReaderT s m) m ((,) s) Id
- wrapReaderT :: ((s, a) -> m b) -> a -> ReaderT s m b
- unwrapReaderT :: (a -> ReaderT s m b) -> (s, a) -> m b
- stateS' :: (Functor m, Monad m) => MStreamF m (s, a) (s, b) -> MStreamF (StateT s m) a b
- runStateS' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b)
- runStateS'' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b)
- writerS' :: (Monad m, Monoid s) => MStreamF m a (s, b) -> MStreamF (WriterT s m) a b
- runWriterS' :: (Monoid s, Functor m, Monad m) => MStreamF (WriterT s m) a b -> MStreamF m a (s, b)
- writerS'' :: (Monad m, Monoid w) => MStreamF m a (w, b) -> MStreamF (WriterT w m) a b
- runWriterS'' :: (Monoid s, Functor m, Monad m) => MStreamF (WriterT s m) a b -> MStreamF m a (s, b)
- wrapMSFWriterT :: (Monoid s, Monad m) => (a -> m ((s, b), ct)) -> a -> WriterT s m (b, ct)
- unwrapMSFWriterT :: (Monad m, Functor m) => (a -> WriterT s m (b, ct)) -> a -> m ((s, b), ct)
- readerS :: Monad m => MStreamF m (s, a) b -> MStreamF (ReaderT s m) a b
- runReaderS :: Monad m => MStreamF (ReaderT s m) a b -> MStreamF m (s, a) b
- runReaderS_ :: Monad m => MStreamF (ReaderT s m) a b -> s -> MStreamF m a b
- stateS :: Monad m => MStreamF m (s, a) (s, b) -> MStreamF (StateT s m) a b
- runStateS :: Monad m => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b)
- runStateS_ :: Monad m => MStreamF (StateT s m) a b -> s -> MStreamF m a (s, b)
- runStateS__ :: Monad m => MStreamF (StateT s m) a b -> s -> MStreamF m a b
- writerS :: (Monad m, Monoid s) => MStreamF m a (s, b) -> MStreamF (WriterT s m) a b
- runWriterS :: Monad m => MStreamF (WriterT s m) a b -> MStreamF m a (s, b)
- runRWSS :: (Functor m, Monad m, Monoid w) => MStreamF (RWST r w s m) a b -> MStreamF m (r, s, a) (w, s, b)
- exit :: Monad m => MStreamF (MaybeT m) a b
- exitWhen :: Monad m => (a -> Bool) -> MStreamF (MaybeT m) a a
- exitIf :: Monad m => MStreamF (MaybeT m) Bool ()
- maybeExit :: Monad m => MStreamF (MaybeT m) (Maybe a) a
- mapMaybeS :: Monad m => MStreamF m a b -> MStreamF m (Maybe a) (Maybe b)
- inMaybeT :: Monad m => MStreamF (MaybeT m) (Maybe a) a
- runMaybeS :: Monad m => MStreamF (MaybeT m) a b -> MStreamF m a (Maybe b)
- untilMaybe :: Monad m => MStreamF m a b -> MStreamF m b Bool -> MStreamF (MaybeT m) a b
- catchMaybe :: Monad m => MStreamF (MaybeT m) a b -> MStreamF m a b -> MStreamF m a b
- catchS :: Monad m => MStreamF (ExceptT e m) a b -> (e -> MStreamF m a b) -> MStreamF m a b
- exceptS :: Monad m => MStreamF (ExceptT e m) a b -> MStreamF m a (Either e b)
- throwOnCond :: Monad m => (a -> Bool) -> e -> MStreamF (ExceptT e m) a a
- throwOnCondM :: Monad m => (a -> m Bool) -> e -> MStreamF (ExceptT e m) a a
- throwOn :: Monad m => e -> MStreamF (ExceptT e m) Bool ()
- throwOn' :: Monad m => MStreamF (ExceptT e m) (Bool, e) ()
- untilE :: Monad m => MStreamF m a b -> MStreamF m b (Maybe e) -> MStreamF (ExceptT e m) a b
- throwMaybe :: Monad m => MStreamF (ExceptT e m) (Maybe e) (Maybe a)
- throwS :: Monad m => MStreamF (ExceptT e m) e a
- inExceptT :: Monad m => MStreamF (ExceptT e m) (ExceptT e m a) a
- widthFirst :: (Functor m, Monad m) => MStreamF (ListT m) a b -> MStreamF m a [b]
- sequenceS :: Monad m => [MStreamF m a b] -> MStreamF (ListT m) a b
Attempt at writing a more generic MSF lifting combinator. This is
lifterS :: (Monad m, Monad m1) => ((a1 -> m1 (b1, MStreamF m1 a1 b1)) -> a -> m (b, MStreamF m1 a1 b1)) -> MStreamF m1 a1 b1 -> MStreamF m a b Source #
Another wrapper idea
transS :: (Monad m1, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2 Source #
A more general lifting mechanism that enables recovery.
transG1 :: (Monad m1, Functor m2, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2 Source #
transG :: (Monad m1, Monad m2) => (a2 -> m1 a1) -> (forall c. a2 -> m1 (b1, c) -> m2 (b2, Maybe c)) -> MStreamF m1 a1 b1 -> MStreamF m2 a2 b2 Source #
Alternative Reader wrapping/unwrapping MSF combinators
runStateS''' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b) Source #
Wrapping/unwrapping functions
wrapReaderT :: ((s, a) -> m b) -> a -> ReaderT s m b Source #
unwrapReaderT :: (a -> ReaderT s m b) -> (s, a) -> m b Source #
Alternative State wrapping/unwrapping MSF combinators
runStateS' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b) Source #
runStateS'' :: (Functor m, Monad m) => MStreamF (StateT s m) a b -> MStreamF m (s, a) (s, b) Source #
Alternative Writer wrapping/unwrapping MSF combinators
runWriterS' :: (Monoid s, Functor m, Monad m) => MStreamF (WriterT s m) a b -> MStreamF m a (s, b) Source #
runWriterS'' :: (Monoid s, Functor m, Monad m) => MStreamF (WriterT s m) a b -> MStreamF m a (s, b) Source #
Wrapping/unwrapping functions
unwrapMSFWriterT :: (Monad m, Functor m) => (a -> WriterT s m (b, ct)) -> a -> m ((s, b), ct) Source #
Reader monad
Auxiliary functions related to ReaderT
State monad
Auxiliary functions related to StateT
Writer monad
RWS (Reader-Writer-State) monad
runRWSS :: (Functor m, Monad m, Monoid w) => MStreamF (RWST r w s m) a b -> MStreamF m (r, s, a) (w, s, b) Source #
Maybe monad
Exception monad
untilE :: Monad m => MStreamF m a b -> MStreamF m b (Maybe e) -> MStreamF (ExceptT e m) a b Source #