hK^5v      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu experimental Ertugrul Soeylemez <es@ertes.de>$AMonads with support for logging. Traditionally these are called  *writer monads*.  Log a value. 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. Monads with exception support. The exception type. Raise an exception. %Run computation catching exceptions. )Monads with support for forking threads. Generalization of v. wAMonads supporting *call-with-current-continuation* (aka callCC).  Call with current continuation. Monads supporting abortion. End result of the computation. 'Ignore current continuation and abort. 0Capture the current continuation for later use. Jump to a label. 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  E.bracket.. 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  E.bracket_.. 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 x. 2Catch exceptions using an exception handler (flip ). 8Throw given exception, if the given computation returns y. 8Throw given exception, if the given computation returns x. ;Fail (in the sense of the given transformer), if the given  underlying computation returns y. !Get a certain field. "'Apply a function to the current state. #"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. #  !"#$%#   !"#$%#    !"#$% experimental Ertugrul Soeylemez <es@ertes.de>,&'(?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 continuation passing style monad transformer. This monad 0 transformer models the most basic form of CPS. ,-.DMonad transformer for CPS computations with an additional exception  continuation. /01DMonad transformer for CPS computations with an additional exception  continuation with no argument. 2*The traditional writer monad transformer. 345-Monad transformer for stateful computations. 69The writer monad transformer. Supports logging effects. 7Run a choice computation. 8Turn a list into a '( computation efficiently. 9Find all solutions. :$Find all solutions and ignore them. ;Find the first solution. <'Find the first solution and ignore it. =2Turn a list into a computation with alternatives. >#Get list of solutions (faster than 9, but returns solutions  in reversed order). ?Get one solution (faster than ;). @CRun a CPS-style computation given the supplied final continuation. A6Evaluate a CPS-style computation to its final result. B*Transform the final result along the way. CRun an -. transformer. DRun an -. transformer returning an z result. EModify the result of an -. computation along the way. FRun the -. computation and return x, if it results in a  right value, y otherwise. GRun a 01 transformer. HRun a 01 transformer returning a { result. IModify the result of a 01 computation along the way. JRun the 01 computation and return x, if it results in a  Just value, y otherwise. 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. NRun a state transformer. O.Run a state transformer returning its result. P3Run a state transformer returning its final state. QRun a writer transformer. /&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ/+*)@AB('&789:;<=>?.-,CDEF10/GHIJ543NOP6Q2KLM,&'('&)*+*),-.-,/010/2345436789:;<=>?@ABCDEFGHIJKLMNOPQ experimental Ertugrul Soeylemez <es@ertes.de>R&Pure state monad derived from StateT. SThe traditional writer monad. T#Pure CPS monad derived from ContT. U The choice monad. Derived from '(. VGet list of solutions. WGet one solution. XRun a pure CPS computation. Y5Evaluate a pure CPS computation to its final result. Z6Modify the result of a CPS computation along the way. [&Run a traditional writer computation. \<Run a traditional writer computation and return its result. ]9Run a traditional writer computation and return its log. ^Run a stateful computation. _1Run a stateful computation returning its result. `1Run a stateful computation returning its result. RSTUVWXYZ[\]^_`UVWTXYZR^_`S[\]RSTUVWXYZ[\]^_` experimental Ertugrul Soeylemez <es@ertes.de> experimental Ertugrul Soeylemez <es@ertes.de>abcdefghijklmnopqrstu|}~  !"#$%=abcdefghijklmnopqrstuefghij=kldmncopbqrastuabcdefghijklmnopqrstu experimental Ertugrul Soeylemez <es@ertes.de>|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`       !"#$%&'()*+,-.//01123345567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc9853/;<=>?ABGIKMRSTdefghijhikflmfnofpqfprfpsfptfpufpvfwxfyzfy{fy|fy}fy~fyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyffwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfwfpfpcontstuff-1.1.0Control.ContStuff.TransControl.ContStuff.ClassesControl.ContStuff.MonadsControl.ContStuff.SimpleControl.ContStuff.InstancesControl.ContStufftransformers-0.2.2.0Control.Monad.Trans.Identity runIdentityT IdentityTWritabletellStatefulStateOfgetputputLazy HasExceptions ExceptionraisetryForkableforkIOLabelCallCCcallCC AbortableResultabortlabelCCgotobracketbracket_catchfinallyforbidhandle raiseUnless raiseWhenrequiregetFieldmodify modifyFieldmodifyFieldLazy modifyLazy getChoiceTChoiceTgetContTContT getEitherTEitherT getMaybeTMaybeT OldWriterT getStateTStateTWriterT runChoiceTchoicefindAllfindAll_ findFirst findFirst_listA listChoiceT maybeChoiceTrunContT evalContT modifyContT runEitherT evalEitherT modifyEitherT testEitherT runMaybeT evalMaybeT modifyMaybeT testMaybeT runOldWriterTevalOldWriterTexecOldWriterT runStateT evalStateT execStateT runWriterTState OldWriterContChoice listChoice maybeChoicerunContevalCont modifyCont runOldWriter evalOldWriter execOldWriterrunState evalState execState evalWriterT execWriterTbase GHC.Conc.Syncghc-primGHC.BoolTrueFalse Data.EitherEither Data.MaybeMaybeGHC.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<$fmapControl.Monad.IO.ClassliftIOMonadIOControl.Monad.Trans.Classlift MonadTrans