FP.Monads

data ID a

data IDT m a

maybeCommute

mapError

errorCommute

type Reader r

runReader

readerCommute

execWriterT

mapOutput

writerCommute

runStateT

evalStateT

execStateT

mapStateT

type State s

runState

evalState

execState

stateCommute

stateLens

stateLensE

data AddStateT s12 s1 m a

mergeState

splitState

runRWST

rwsCommute

data ListT m a

listCommute

maybeToList

data ListSetT m a

listSetCommute

PROOF of: left unit := return x >>= k = k x {{{

PROOF of: right unit := aM >>= return = aM {{{

PROOF of: associativity := (aM >>= k1) >>= k2 = { x aM ; k1 x>= k2 } {{{

data ListSetWithTopT m a

listSetWithTopCommute

data SetT m a

mapSetT

setCommute

evalKonT

type Kon r

runKon

evalKon

data ContFun r m a

type OpaqueKon k r

runOpaqueKonTWith

makeMetaKonT

runMetaKonT

runMetaKonTWith

evalOpaqueKonT

makeOpaqueKon

makeMetaKon

runOpaqueKon

runMetaKon

evalOpaqueKon

metaKonT

opaqueContT

class Balloon k r

maybeReaderCommute

readerMaybeCommute

writerMaybeCommute

maybeWriterCommute

maybeStateCommute

stateMaybeCommute

errorReaderCommute

readerErrorCommute

errorStateCommute

stateErrorCommute

readerWriterCommute

writerReaderCommute

readerStateCommute

stateReaderCommute

readerRWSCommute

rwsReaderCommute

writerStateCommute

stateWriterCommute

writerRWSCommute

rwsWriterCommute

stateRWSCommute

rwsStateCommute

stateListCommute

listStateCommute

stateListSetCommute

listSetStateCommute

stateKonCommute

konStateCommute