\T ]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ experimental Ertugrul Soeylemez <es@ertes.de>^AMonads 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. Minimal complete definition: ,  and . State type of m. 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. Arguments needed to run. Run the transformer. 7Monads, which support lifting base monad computations. Base monad of m. "Promote a base monad computation. Monads with exception support. The exception type. Raise an exception. %Run computation catching exceptions. ]AMonads supporting *call-with-current-continuation* (aka callCC).  Call with current continuation. Monads supporting abortion. End result of the computation. 'Ignore current continuation and abort. 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. Derived from ,+. +?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. /01Run a choice computation. 2Turn a list into a ,+ computation efficiently. 3Find the first solution. 4Find all solutions. 5#Get list of solutions (faster than 4, but returns solutions  in reversed order). 62Turn a list into a computation with alternatives. 7Get one solution (faster than 3). 8Get list of solutions. 9Get one solution. :CRun a CPS-style computation given the supplied final continuation. ;6Evaluate a CPS-style computation to its final result. <*Transform the final result along the way. =Run a pure CPS computation. >5Evaluate a pure CPS computation to its final result. ?6Modify the result of a CPS computation along the way. @Run an $# transformer. ARun an $# transformer returning an ^ result. BModify the result of an $# computation along the way. C&Run a traditional writer transformer. D<Run a traditional writer transformer and return its result. E9Run a traditional writer transformer and return its log. F&Run a traditional writer computation. G<Run a traditional writer computation and return its result. H9Run a traditional writer computation and return its log. IRun a state transformer. J.Run a state transformer returning its result. K3Run a state transformer returning its final state. LRun a stateful computation. M1Run a stateful computation returning its result. N1Run a stateful computation returning its result. ORun a writer transformer. P0Capture the current continuation for later use. QJump to a label. R-Catch exceptions using an exception handler. S2Catch exceptions using an exception handler (flip R). T?Run a final computation regardless of whether an exception was  raised. UCGet 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 _.. If both the user and the releaser throw an / exception, the user exception is significant. VDInitialize, 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. WHandy alias for lifting a computations. XGet a certain field. Y'Apply a function to the current state. Z"Get a field and modify the state. [1Get a field and modify the state. Lazy version. \6Apply a function to the current state. Lazy version. bcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] !"'():;<+,-1234567#$%@ABIJKOCDE./0*89&=>?LMNFGHPQRSTUV W XYZ[\]     !"!"#$%$%&'()()*+,-,-./0/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\      !!"##$%&&'())*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[Q[R\]^_`_a_b_c_d_efghihjhkhlhmhnhohphqhrhshthuhvhwhxhyhyhzh{h|h}h~hhhhfffffffffffffffffffffffffffffff__contstuff-0.4.1Control.ContStuffWritabletell TransformerliftStatefulStateOfgetputputLazyRunnableArgumentrunTLiftBaseBasebase HasExceptions ExceptionraisetryLabelCallCCcallCC AbortableResultabortWriterTStateStateT getStateT OldWriter OldWriterTIdTgetIdTEitherT getEitherTContContTgetContTChoiceChoiceT getChoiceTIdgetId runChoiceTchoice findFirstfindAll listChoiceTlistA maybeChoiceT listChoice maybeChoicerunContT evalContT modifyContTrunContevalCont modifyCont runEitherT evalEitherT modifyEitherT runOldWriterTevalOldWriterTexecOldWriterT runOldWriter evalOldWriter execOldWriter runStateT evalStateT execStateTrunState evalState execState runWriterTlabelCCgotocatchhandlefinallybracketbracket_iogetFieldmodify modifyFieldmodifyFieldLazy modifyLazy Data.EitherEitherControl.Exception.Baseghc-prim GHC.TypesIOGHC.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