UAMX      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW experimental Ertugrul Soeylemez <es@ertes.de>YAMonads 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. Monads with exception support. The exception type. Raise an exception. %Run computation catching exceptions. XAMonads 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. -Monad transformer for stateful computations. 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. !"#DMonad transformer for CPS computations with an additional exception  continuation. $%&#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. ./0Run a choice computation. 1Find the first solution. 2Find all solutions. 3#Get list of solutions (faster than 2, but returns solutions  in reversed order). 42Turn a list into a computation with alternatives. 5CRun a CPS-style computation given the supplied final continuation. 66Evaluate a CPS-style computation to its final result. 7*Transform the final result along the way. 8Run a pure CPS computation. 95Evaluate a pure CPS computation to its final result. :6Modify the result of a CPS computation along the way. ;Run an $# transformer. <Run an $# transformer returning an Y result. =Modify the result of an $# computation along the way. >&Run a traditional writer transformer. ?<Run a traditional writer transformer and return its result. @9Run a traditional writer transformer and return its log. A&Run a traditional writer computation. B<Run a traditional writer computation and return its result. C9Run a traditional writer computation and return its log. DRun a state transformer. E.Run a state transformer returning its result. F3Run a state transformer returning its final state. GRun a stateful computation. H1Run a stateful computation returning its result. I1Run a stateful computation returning its result. JRun a writer transformer. K0Capture the current continuation for later use. LJump to a label. M-Catch exceptions using an exception handler. N2Catch exceptions using an exception handler (flip M). O?Run a final computation regardless of whether an exception was  raised. PCGet a resource, run a computation, then release the resource, even  if an exception is raised:   bracket acquire release use CPlease note that this function behaves slightly different from the  usual Z.. If both the user and the releaser throw an / exception, the user exception is significant. QDInitialize, then run, then clean up safely, even if an exception is  raised:   bracket_ init cleanup run CPlease note that this function behaves slightly different from the  usual [.. If both the user and the releaser throw an / exception, the user exception is significant. R)Handy alias for lifting IO computations. SGet a certain field. T'Apply a function to the current state. U"Get a field and modify the state. V1Get a field and modify the state. Lazy version. W6Apply a function to the current state. Lazy version. \]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX !"'()567*+,01234#$%;<=DEFJ>?@-./&89:GHIABCKLMNOPQ R STUVWX     !"!"#$%$%&'()()*+,+,-././0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW      !!"##$%&&'(()**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVLVMWXWYWZW[W\W]^_`a`b`c`d`e`f`g`h`i`j`k`l`m`n`o`p`q`q`r`s`t`u`v`w`x`y`yz{^|^}^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^WWcontstuff-0.3.1Control.ContStuffWritabletell TransformerliftStatefulStateOfgetputputLazyRunnableArgumentrunTLiftBaseBasebase HasExceptions ExceptionraisetryLabelCallCCcallCC AbortableResultabortWriterTStateStateT getStateT OldWriter OldWriterTIdTgetIdTEitherT getEitherTContContTgetContTChoiceT getChoiceTIdgetId runChoiceT findFirstfindAll listChoiceTlistArunContT evalContT modifyContTrunContevalCont modifyCont runEitherT evalEitherT modifyEitherT runOldWriterTevalOldWriterTexecOldWriterT runOldWriter evalOldWriter execOldWriter runStateT evalStateT execStateTrunState evalState execState runWriterTlabelCCgotocatchhandlefinallybracketbracket_iogetFieldmodify modifyFieldmodifyFieldLazy modifyLazy Data.EitherEitherControl.Exception.BaseGHC.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