úÎoğe{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz experimental Ertugrul Soeylemez <es@ertes.de>%AMonads with support for logging. Traditionally these are called  *writer monads*.  Log a value. IStateful monads, i.e. having a modifyable environment (stateful monads). Minimal complete definition: . $Set the current state and force it. Set the current state, but don' t force it. )Monads with environment (reader monads). Environment type of m. Get the current state. Monads with exception support. The exception type. Raise an exception. %Run computation catching exceptions. )Monads with support for forking threads. Generalization of {. |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. 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 }. 2Catch exceptions using an exception handler (flip ). 8Throw given exception, if the given computation returns ~. 8Throw given exception, if the given computation returns }. !;Fail (in the sense of the given transformer), if the given  underlying computation returns ~. "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>0'()?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. 012DMonad transformer for CPS computations with an additional exception  continuation with no argument. 3*The traditional writer monad transformer. €4>Monad transformer for computations with readable environment. E Unlike the other monad transformers this one allows no CPS effects,  which makes it commutative. (If you need CPS effects, consider using 67. 567-Monad transformer for stateful computations. 89The writer monad transformer. Supports logging effects. 9Run a choice computation. :Turn a list into a () computation efficiently. ;Find 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 ;, but returns solutions  in reversed order). AGet one solution (faster than =). BCRun a CPS-style computation given the supplied final continuation. C6Evaluate a CPS-style computation to its final result. D*Transform the final result along the way. ERun an ./ transformer. FRun an ./ transformer returning an  result. GModify the result of an ./ computation along the way. HRun the ./ computation and return }, if it results in a  right value, ~ otherwise. IRun a 12 transformer. JRun a 12 transformer returning a ‚ result. KModify the result of a 12 computation along the way. LRun the 12 computation and return }, if it results in a  Just value, ~ otherwise. M&Run a traditional writer transformer. N<Run a traditional writer transformer and return its result. O9Run a traditional writer transformer and return its log. P$Run a computation with environment. QRun a state transformer. R.Run a state transformer returning its result. S3Run a state transformer returning its final state. TRun a writer transformer. 1'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST1,+*BCD)('9:;<=>?@A/.-EFGH210IJKL4P765QRS8T3MNO.'()('*+,+*-./.-01210345676589:;<=>?@ABCDEFGHIJKLMNOPQRST experimental Ertugrul Soeylemez <es@ertes.de>U&Pure state monad derived from StateT. V#Pure computation with environment. WThe traditional writer monad. X#Pure CPS monad derived from ContT. Y The choice monad. Derived from (). ZGet list of solutions. [Get one solution. \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 a traditional writer computation. `<Run a traditional writer computation and return its result. a9Run a traditional writer computation and return its log. b)Run a pure computation with environment. cRun a stateful computation. d1Run a stateful computation returning its result. e1Run a stateful computation returning its result. UVWXYZ[\]^_`abcdeYZ[X\]^VbUcdeW_`aUVWXYZ[\]^_`abcde experimental Ertugrul Soeylemez <es@ertes.de> experimental Ertugrul Soeylemez <es@ertes.de>fghijklmnopqrstuvwxyz‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ  !"#$%&4?Pfghijklmnopqrstuvwxyzjklmno?pqirshtu4Pgvwfxyzfghijklmnopqrstuvwxyz experimental Ertugrul Soeylemez <es@ertes.de>°ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeÍ       !"#$%&'()*+,-./00122344566789::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh;:640=>?@ACDIKMOUVWijklmnomnpq8krsktukvwkvxkvykvzkv{kv|k}~k€kk‚kƒk„k…k†k‡kˆk‰kŠk‹kŒkkkkkk‘k’k“k”k•k–k—k˜k˜k™šk}›k}œk}k}k}Ÿk} k}¡k}¢k}£k}¤k}¥k}¦k}§k}¨k}©k}ªk}«k}¬k}­k}®k}¯k}°k}±k}²k}³k}´k}µk}¶k}·k}¸k}¹k}ºk}»kv¼kv½¾¿¾ÀÁÂÁÃÄcontstuff-1.2.0Control.ContStuff.TransControl.ContStuff.ClassesControl.ContStuff.MonadsControl.ContStuff.SimpleControl.ContStuff.InstancesControl.ContStufftransformers-0.2.2.0Control.Monad.Trans.Identity runIdentityT IdentityTWritabletellStatefulputputLazyReadableStateOfget HasExceptions ExceptionraisetryForkableforkIOLabelCallCCcallCC AbortableResultabortlabelCCgotobracketbracket_catchfinallyforbidhandle raiseUnless raiseWhenrequiregetFieldmodify modifyFieldmodifyFieldLazy modifyLazy getChoiceTChoiceTgetContTContT getEitherTEitherT getMaybeTMaybeT OldWriterTReaderT getStateTStateTWriterT runChoiceTchoicefindAllfindAll_ findFirst findFirst_listA listChoiceT maybeChoiceTrunContT evalContT modifyContT runEitherT evalEitherT modifyEitherT testEitherT runMaybeT evalMaybeT modifyMaybeT testMaybeT runOldWriterTevalOldWriterTexecOldWriterT runReaderT runStateT evalStateT execStateT runWriterTStateReader OldWriterContChoice listChoice maybeChoicerunContevalCont modifyCont runOldWriter evalOldWriter execOldWriter runReaderrunState evalState execState evalWriterT execWriterTbase GHC.Conc.Syncghc-primGHC.BoolTrueFalse getReaderT 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