a.X]c      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab experimental Ertugrul Soeylemez <es@ertes.de>dAMonads 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. cAMonads 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. DMonad transformer for CPS computations with an additional exception  continuation with no argument. !"#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. /01>The identity monad. This monad represents values themselves, $ i.e. computations without effects. 234Run a choice computation. 5Turn a list into a /. computation efficiently. 6Find the first solution. 7Find all solutions. 8#Get list of solutions (faster than 7, but returns solutions  in reversed order). 92Turn a list into a computation with alternatives. :Get one solution (faster than 6). ;Get list of solutions. <Get 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. A5Evaluate a pure CPS computation to its final result. B6Modify the result of a CPS computation along the way. CRun an '& transformer. DRun an '& transformer returning an d result. EModify the result of an '& computation along the way. FRun a !  transformer. GRun a !  transformer returning a e result. HModify the result of a !  computation along the way. I&Run a traditional writer transformer. J<Run a traditional writer transformer and return its result. K9Run a traditional writer transformer and return its log. L&Run a traditional writer computation. M<Run a traditional writer computation and return its result. N9Run a traditional writer computation and return its log. ORun a state transformer. P.Run a state transformer returning its result. Q3Run a state transformer returning its final state. RRun a stateful computation. S1Run a stateful computation returning its result. T1Run a stateful computation returning its result. URun a writer transformer. V0Capture the current continuation for later use. WJump to a label. X-Catch exceptions using an exception handler. Y2Catch exceptions using an exception handler (flip X). Z?Run a final computation regardless of whether an exception was  raised. [CGet 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 f.. If both the user and the releaser throw an / exception, the user exception is significant. \DInitialize, 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 g.. If both the user and the releaser throw an / exception, the user exception is significant. ]Handy alias for lifting h computations. ^Get a certain field. _'Apply a function to the current state. `"Get a field and modify the state. a1Get a field and modify the state. Lazy version. b6Apply a function to the current state. Lazy version. ijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc#$%*+,=>?./0456789:&'(CDE !"FGHOPQUIJK123-;<)@ABRSTLMNVWXYZ[\ ] ^_`abc     !"!"#$%$%&'('()*+,+,-./0/012323456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab      !!"##$%%&'(()*++,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abVbWcdefgfhfifjfkflmnopoqorosotouovowoxoyozo{o|o}o~oooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffcontstuff-0.5.0Control.ContStuffWritabletell TransformerliftStatefulStateOfgetputputLazyRunnableArgumentrunTLiftBaseBasebase HasExceptions ExceptionraisetryLabelCallCCcallCC AbortableResultabortWriterTStateStateT getStateT OldWriter OldWriterTMaybeT getMaybeTIdTgetIdTEitherT getEitherTContContTgetContTChoiceChoiceT getChoiceTIdgetId runChoiceTchoice findFirstfindAll listChoiceTlistA maybeChoiceT listChoice maybeChoicerunContT evalContT modifyContTrunContevalCont modifyCont runEitherT evalEitherT modifyEitherT runMaybeT evalMaybeT modifyMaybeT runOldWriterTevalOldWriterTexecOldWriterT runOldWriter evalOldWriter execOldWriter runStateT evalStateT execStateTrunState evalState execState runWriterTlabelCCgotocatchhandlefinallybracketbracket_iogetFieldmodify modifyFieldmodifyFieldLazy modifyLazy Data.EitherEither Data.MaybeMaybeControl.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