śĪi_Či      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh experimental Ertugrul Soeylemez <es@ertes.de>jAMonads with support for logging. Traditionally these are called  *writer monads*.  Log a value. 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. iAMonads 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 all solutions. 7$Find all solutions and ignore them. 8Find the first solution. 9'Find the first solution and ignore it. :2Turn a list into a computation with alternatives. ;#Get list of solutions (faster than 6, but returns solutions  in reversed order). <Get one solution (faster than 8). =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. A*Transform the final result along the way. BRun a pure CPS computation. C5Evaluate a pure CPS computation to its final result. D6Modify the result of a CPS computation along the way. ERun an '& transformer. FRun an '& transformer returning an j result. GModify the result of an '& computation along the way. HRun a !  transformer. IRun a !  transformer returning a k result. JModify the result of a !  computation along the way. K&Run a traditional writer transformer. L<Run a traditional writer transformer and return its result. M9Run a traditional writer transformer and return its log. N&Run a traditional writer computation. O<Run a traditional writer computation and return its result. P9Run a traditional writer computation and return its log. QRun a state transformer. R.Run a state transformer returning its result. S3Run a state transformer returning its final state. TRun a stateful computation. U1Run a stateful computation returning its result. V1Run a stateful computation returning its result. WRun a writer transformer. X0Capture the current continuation for later use. YJump to a label. ZCGet 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 l.. 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 m.. If both the user and the releaser throw an / exception, the user exception is significant. \-Catch exceptions using an exception handler. ]?Run a final computation regardless of whether an exception was  raised. ^;Fail (in the sense of the given transformer), if the given  underlying computation returns n. _2Catch exceptions using an exception handler (flip \). `@Throw given exception, if the given computation does not return  n. a@Throw given exception, if the given computation does not return  n. b;Fail (in the sense of the given transformer), if the given  underlying computation returns o. cHandy alias for lifting p 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. Æqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi#$%*+,?@A./0456789:;<&'(EFG !"HIJQRSWKLM123-=>)BCDTUVNOPXYZ[\]^_`ab c defghi     !"!"#$%$%&'('()*+,+,-./0/012323456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh·      !!"##$%%&'(()*++,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghUhVijkijlimnopoqorosotouvwxyxzx{x|x}x~xx€xx‚xƒx„x…x†x‡xˆx‰x‰xŠx‹xŒxxŽxxx‘x‘’“v”v•v–v—v˜v™všv›vœvvžvŸv v”v¢v£v¤v„v¦v§vØv©vŖv«v¬v­v®vÆv°v±v²v³v“oµo¶·contstuff-0.6.0Control.ContStuffWritabletell TransformerliftStatefulStateOfgetputputLazyRunnableArgumentrunTLiftBaseBasebase HasExceptions ExceptionraisetryLabelCallCCcallCC AbortableResultabortWriterTStateStateT getStateT OldWriter OldWriterTMaybeT getMaybeTIdTgetIdTEitherT getEitherTContContTgetContTChoiceChoiceT getChoiceTIdgetId runChoiceTchoicefindAllfindAll_ findFirst findFirst_listA listChoiceT maybeChoiceT listChoice maybeChoicerunContT evalContT modifyContTrunContevalCont modifyCont runEitherT evalEitherT modifyEitherT runMaybeT evalMaybeT modifyMaybeT runOldWriterTevalOldWriterTexecOldWriterT runOldWriter evalOldWriter execOldWriter runStateT evalStateT execStateTrunState evalState execState runWriterTlabelCCgotobracketbracket_catchfinallyforbidhandle raiseUnless raiseWhenrequireiogetFieldmodify modifyFieldmodifyFieldLazy modifyLazy Data.EitherEither Data.MaybeMaybeControl.Exception.Baseghc-primGHC.BoolTrueFalse GHC.TypesIOGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusControl.Applicative ApplicativeoptionalliftA3liftA2liftA<**><**><*>puremanysome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>mfilterapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzero<$fmap