@9I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH experimental Ertugrul Soeylemez <es@ertes.de>JAMonads with support for logging. Traditionally these are called  *writer monads*. BThe monad transformer class. Lifting computations one level down G the monad stack, or stated differently promoting a computation of the & underlying monad to the transformer. 2Promote a monadic computation to the transformer. Stateful monads. Get the current state. $Set the current state and force it. Set the current state, but don' t force it. Every monad transformer t that supports transforming t m a to  m a# can be an instance of this class. 7Monads, which support lifting base monad computations. IAMonads supporting *call-with-current-continuation* (aka callCC).  Call with current continuation. Monads supporting abortion. 9The writer monad transformer. Supports logging effects. &Pure state monad derived from StateT. The traditional writer monad. *The traditional writer monad transformer. CThe identity monad transformer. This monad transformer represents D computations themselves without further side effects. Unlike most B other monad transformers in this module it is not implemented in & terms of continuation passing style. #Pure CPS monad derived from ContT. >The continuation passing style monad transformer. This monad 0 transformer models the most basic form of CPS. !"#?The choice monad transformer, which models, as the most common B interpretation, nondeterminism. Internally a list of choices is 0 represented as a CPS-based left-fold function. $%&>The identity monad. This monad represents values themselves, $ i.e. computations without effects. '()Run a choice computation. *Find the first solution. +Find all solutions. ,#Get list of solutions (faster than +, but returns solutions  in reversed order). -2Turn a list into a computation with alternatives. .CRun a CPS-style computation given the supplied final continuation. /6Evaluate a CPS-style computation to its final result. 0*Transform the final result along the way. 1Run a pure CPS computation. 25Evaluate a pure CPS computation to its final result. 36Modify the result of a CPS computation along the way. 4&Run a traditional writer transformer. 5<Run a traditional writer transformer and return its result. 69Run a traditional writer transformer and return its log. 7&Run a traditional writer computation. 8<Run a traditional writer computation and return its result. 99Run a traditional writer computation and return its log. :Run a state transformer. ;.Run a state transformer returning its result. <3Run a state transformer returning its final state. =Run a stateful computation. >1Run a stateful computation returning its result. ?1Run a stateful computation returning its result. @Run a writer transformer. A0Capture the current continuation for later use. BJump to a label. C)Handy alias for lifting IO computations. DGet a certain field. E'Apply a function to the current state. F"Get a field and modify the state. G1Get a field and modify the state. Lazy version. H6Apply a function to the current state. Lazy version. JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI&'(123 !"./0#$%)*+,-=>?:;<789456@AB C DEFGHI     !"!"#$%$%&'('()*+,-./0123456789:;<=>?@ABCDEFGH       !""#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGFHFIFJFKFLMNOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`O`OaObOcOdOeOfOgOhOhijMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMFFcontstuff-0.2.0Control.ContStuffWritabletell TransformerliftStatefulStateOfgetputputLazyRunnableArgumentrunTLiftBaseBasebaseLabelCallCCcallCC AbortableResultabortWriterTStateStateT getStateT OldWriter OldWriterTIdTgetIdTContContTgetContTChoiceT getChoiceTIdgetId runChoiceT findFirstfindAll listChoiceTlistArunContT evalContT modifyContTrunContevalCont modifyCont runOldWriterTevalOldWriterTexecOldWriterT runOldWriter evalOldWriter execOldWriter runStateT evalStateT execStateTrunState evalState execState runWriterTlabelCCgotoiogetFieldmodify modifyFieldmodifyFieldLazy modifyLazyGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusControl.Applicative ApplicativeoptionalliftA3liftA2liftA<**><**><*>puremanysome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>apliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzero<$fmap