vk      !"#$%&'()*+,-./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. -Type class for lifting functor computations. Inner functor. Unwrap inner functor. Monads with exception support. The exception type. Raise an exception. %Run computation catching exceptions. )Monads with support for forking threads. Generalization of . Generalization of . A jump label for  and . 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>3+9The writer monad transformer. Supports logging effects. ,-Monad transformer for stateful computations. -./>Monad transformer for computations with readable environment. D Unlike the other monad transformers this one allows no CPS effects > and also hides its constructors, which makes it commutative. (If you need CPS effects, consider using -,. 0*The traditional writer monad transformer. 1DMonad transformer for CPS computations with an additional exception  continuation with no argument. 234DMonad transformer for CPS computations with an additional exception  continuation. 567>The continuation passing style monad transformer. This monad 0 transformer models the most basic form of CPS. 89:?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. ;<=Run a choice computation. >Turn a list into a ;: computation efficiently. ?Find all solutions. @$Find all solutions and ignore them. AFind the first solution. B'Find the first solution and ignore it. C2Turn a list into a computation with alternatives. D#Get list of solutions (faster than ?, but returns solutions  in reversed order). EGet one solution (faster than A). FCRun a CPS-style computation given the supplied final continuation. G6Evaluate a CPS-style computation to its final result. H*Transform the final result along the way. IRun an 54 transformer. JRun an 54 transformer returning an  result. KModify the result of an 54 computation along the way. LRun the 54 computation and return , if it results in a  right value,  otherwise. MRun a 21 transformer. NRun a 21 transformer returning a  result. OModify the result of a 21 computation along the way. PRun the 21 computation and return , if it results in a  Just value,  otherwise. Q&Run a traditional writer transformer. R<Run a traditional writer transformer and return its result. S9Run a traditional writer transformer and return its log. T=Fork a concurrent thread for a computation with environment. U$Run a computation with environment. VRun a state transformer. W.Run a state transformer returning its result. X3Run a state transformer returning its final state. YRun a writer transformer. 4Turn an arbitrary pure value into a monadic bottom. ;The undefined value with a more descriptive error message. 2+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY2789FGH:;<=>?@ABCDE456IJKL123MNOP/TU,-.VWX+Y0QRS/+,-.-./0123234565678989:;<;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY experimental Ertugrul Soeylemez <es@ertes.de>Z&Pure state monad derived from StateT. [#Pure computation with environment. \The traditional writer monad. ]#Pure CPS monad derived from ContT. ^ The choice monad. Derived from ;:. _Get list of solutions. `Get one solution. aRun a pure CPS computation. b5Evaluate a pure CPS computation to its final result. c6Modify the result of a CPS computation along the way. d&Run a traditional writer computation. e<Run a traditional writer computation and return its result. f9Run a traditional writer computation and return its log. g)Run a pure computation with environment. hRun a stateful computation. i1Run a stateful computation returning its result. j1Run a stateful computation returning its result. Z[\]^_`abcdefghij^_`]abc[gZhij\defZ[\]^_`abcdefghij experimental Ertugrul Soeylemez <es@ertes.de> experimental Ertugrul Soeylemez <es@ertes.de>klmnopqrstuvwxyz{|}~  !"#$%&'()*/CUklmnopqrstuvwxyz{|}~opqrstCuvnwxmyz/Ul{|k}~klmnopqrstuvwxyz{|}~ experimental Ertugrul Soeylemez <es@ertes.de>  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij       !"#$%&'()*+,-./012344567889::;<<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm348:>ABCDEGHMOQSZ[\nopqprstustv6wpxypz{|}p~p~p~p~p~ppp~p~ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~contstuff-1.2.6Control.ContStuff.TransControl.ContStuff.ClassesControl.ContStuff.MonadsControl.ContStuff.SimpleControl.ContStuff.InstancesControl.ContStufftransformers-0.2.2.0Control.Monad.Trans.Identity runIdentityT IdentityTWritabletellStatefulputputLazyReadableStateOfget LiftFunctor InnerFunctorliftF HasExceptions ExceptionraisetryForkableforkIOforkOSLabelCallCCcallCC AbortableResultabortlabelCCgotobracketbracket_catchfinallyforbidhandle raiseUnless raiseWhenrequiregetFieldmodify modifyFieldmodifyFieldLazy modifyLazyWriterTStateT getStateTReaderT OldWriterTMaybeT getMaybeTEitherT getEitherTContTgetContTChoiceT getChoiceT runChoiceTchoicefindAllfindAll_ findFirst findFirst_listA listChoiceT maybeChoiceTrunContT evalContT modifyContT runEitherT evalEitherT modifyEitherT testEitherT runMaybeT evalMaybeT modifyMaybeT testMaybeT runOldWriterTevalOldWriterTexecOldWriterT forkReaderT runReaderT runStateT evalStateT execStateT runWriterTStateReader OldWriterContChoice listChoice maybeChoicerunContevalCont modifyCont runOldWriter evalOldWriter execOldWriter runReaderrunState evalState execState evalWriterT execWriterTbase GHC.Conc.SyncControl.Concurrentghc-prim GHC.TypesTrueFalse getReaderT Data.EitherEither Data.MaybeMaybetoUnitMundefGHC.Basefail>>=>>fmapreturn Control.MonadguardliftMMonadFunctor MonadPlusControl.Applicative ApplicativeoptionalliftA3liftA2liftA<**><**><*>puremanysome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>mfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzero<$Control.Monad.IO.ClassliftIOMonadIOControl.Monad.Trans.Classlift MonadTrans