úÎfÎ\ßt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs 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. tAMonads 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 u. 2Catch exceptions using an exception handler (flip ). 8Throw given exception, if the given computation returns v. 8Throw given exception, if the given computation returns u. ;Fail (in the sense of the given transformer), if the given  underlying computation returns v. 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. -./DMonad transformer for CPS computations with an additional exception  continuation with no argument. 0*The traditional writer monad transformer. 123-Monad transformer for stateful computations. 49The writer monad transformer. Supports logging effects. 5Run a choice computation. 6Turn a list into a %& computation efficiently. 7Find all solutions. 8$Find all solutions and ignore them. 9Find the first solution. :'Find the first solution and ignore it. ;2Turn a list into a computation with alternatives. <#Get list of solutions (faster than 7, but returns solutions  in reversed order). =Get one solution (faster than 9). >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. ARun an +, transformer. BRun an +, transformer returning an w result. CModify the result of an +, computation along the way. DRun the +, computation and return u, if it results in a  right value, v otherwise. ERun a ./ transformer. FRun a ./ transformer returning a x result. GModify the result of a ./ computation along the way. HRun the ./ computation and return u, if it results in a  Just value, v otherwise. 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. LRun a state transformer. M.Run a state transformer returning its result. N3Run a state transformer returning its final state. ORun a writer transformer. /$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO/)('>?@&%$56789:;<=,+*ABCD/.-EFGH321LMN4O0IJK,$%&%$'()('*+,+*-./.-012321456789:;<=>?@ABCDEFGHIJKLMNO experimental Ertugrul Soeylemez <es@ertes.de>P&Pure state monad derived from StateT. QThe traditional writer monad. R#Pure CPS monad derived from ContT. S The choice monad. Derived from %&. TGet list of solutions. UGet one solution. VRun a pure CPS computation. W5Evaluate a pure CPS computation to its final result. X6Modify the result of a CPS computation along the way. Y&Run a traditional writer computation. Z<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. PQRSTUVWXYZ[\]^STURVWXP\]^QYZ[PQRSTUVWXYZ[\]^ experimental Ertugrul Soeylemez <es@ertes.de> experimental Ertugrul Soeylemez <es@ertes.de>_`abcdefghijklmnopqrs}yz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾  !"#;_`abcdefghijklmnopqrscdefgh;ijbklamn`op_qrs_`abcdefghijklmnopqrs experimental Ertugrul Soeylemez <es@ertes.de>©yz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^à       !"#$%&'()*+,--.//0112334566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a7631-9:;<=?@EGIKPQRbcdefdeghijhklhmnhmohmphmqhmrhmshtuhvwhvxhvyhvzhv{hv|hv}hv~hvhv€hvhv‚hvƒhv„hv…hv†hv‡hv‡hvˆhv‰hvŠhv‹hvŒhvhvŽhvhvh‘ht’ht“ht”ht•ht–ht—ht˜ht™htšht›htœhthtžhtŸht ht¡ht¢ht£ht¤ht¥ht¦ht§ht¨ht©htªht«ht¬ht­ht®ht¯ht°ht±ht²hm³hm´µ¶µ·¸¹¸º»contstuff-1.0.1Control.ContStuff.TransControl.ContStuff.ClassesControl.ContStuff.MonadsControl.ContStuff.SimpleControl.ContStuff.InstancesControl.ContStufftransformers-0.2.2.0Control.Monad.Trans.Identity runIdentityT IdentityTWritabletellStatefulStateOfgetputputLazy HasExceptions ExceptionraisetryLabelCallCCcallCC 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 execWriterTghc-primGHC.BoolTrueFalsebase 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