Control.Monad.Trans.MStreamF

Attempt at writing a more generic MSF lifting combinator. This is

lifterS

Another wrapper idea

transS

A more general lifting mechanism that enables recovery.

transG1

transG

Alternative Reader wrapping/unwrapping MSF combinators

readerS'

runReaderS''

runStateS'''

runMaybeS''

runReaderS'

Wrapping/unwrapping functions

type Wrapper m1 m2 t1 t2

type Unwrapper m1 m2 t1 t2

type Id a

type ReaderWrapper s m

type ReaderUnwrapper s m

wrapReaderT

unwrapReaderT

Alternative State wrapping/unwrapping MSF combinators

stateS'

runStateS'

runStateS''

Alternative Writer wrapping/unwrapping MSF combinators

writerS'

runWriterS'

writerS''

runWriterS''

Wrapping/unwrapping functions

wrapMSFWriterT

unwrapMSFWriterT

Reader monad

readerS

runReaderS

Auxiliary functions related to ReaderT

runReaderS_

State monad

stateS

runStateS

Auxiliary functions related to StateT

runStateS_

runStateS__

Writer monad

writerS

runWriterS

RWS (Reader-Writer-State) monad

runRWSS

Maybe monad

exit

exitWhen

exitIf

maybeExit

mapMaybeS

inMaybeT

runMaybeS

untilMaybe

catchMaybe

Exception monad

catchS

exceptS

throwOnCond

throwOnCondM

throwOn

throwOn'

untilE

throwMaybe

throwS

inExceptT

List monad

widthFirst

sequenceS