xpO      !"#$%&'()*+,-./0123456789:;<=>?@AB C D E F G H I J K L M N None!"(2346=HJKMWType level list append.HA 'known list' is a type level list who's size is known at compile time.5A constraint that requires that the type constructor  t :: * -> *# is a member of the list of types ts :: [* -> *].7Represents a union of the list of type constructors in es parameterized by aY. As an effect, it represents the union of each type constructor's corresponding effect.OPQRSTUVWXYZ[\]^_`abcdefgh \]^_`aOPQRSUTVWXYZ[\]^_`abcdefghNone(-HJKM 7A handler for an effectful computation. Combined with  H, allows one to convert a computation parameterized by the effect list es to a value of type a.An effectful computation. An  Effect es aB may perform any of the effects specified by the list of effects es# before returning a result of type a6. The definition is isomorphic to the following GADT: gdata Effect es a where Done :: a -> Effect es a Side :: `Union` es (Effect es a) -> Effect es aFConverts an computation that produces no effects into a regular value.Executes an effect of type e& that produces a return value of type a.Executes an effect of type e& that produces a return value of type a.  handle p h+ transforms an effect into a value of type b.p/ specifies how to convert pure values. That is,handle p h (return x) = p xh! specifies how to handle effects. Provides a way to completely handle an effect. The given function is passed an effect value parameterized by the output type (i.e. the return type of  ). Provides a way to handle an effect without eliminating it. The given function is passed an effect value parameterized by the output type (i.e. the return type of  ). ^Computes a basis handler. Provides a way to pass on effects of unknown types. In most cases,   is sufficient. *Relays all effects without examining them.handle id defaultRelay x = x/A handler for when there are no effects. Since s handle effects, they cannot be run on a computation that never produces an effect. By the principle of explosion, a handler that requires exactly zero effects can produce any value.ijk lm     ijk lmNone &(-3=JK+An effect that allows accumulating output. Writes a value to the output. Executes a computation, and obtains the writer output. The writer output of the inner computation is still written to the writer output of the outer computation. Like 3, but the writer output is run through a function. Runs a computation that returns a value and a function, applies the function to the writer output, and then returns the value. :Applies a function to the writer output of a computation. ?Completely handles a writer effect. The writer value must be a n. o" is used as an initial value, and p` is used to combine values. Returns the result of the computation and the final output value. qrst qrstNone&(3=JKNests an effect with another. #Flattens a nested list of effects. uvuvNone &(-3=JK FAn effect where a state value is threaded throughout the computation. Gets the current state. 6Gets a value that is a function of the current state. Replaces the current state. ,Applies a pure modifier to the state value. hApplies a pure modifier to the state value. The modified value is converted to weak head normal form. !$Lifts a stateful computation to the  monad. "0Runs a computation with a modified state value. withState f x = modify f >> x#Completely handles a N effect by providing an initial state, and making the final state explicit. $Completely handles a ' effect, and discards the final state. %Completely handles a ' effect, and discards the final value. wx !"#$%  !"#$% #$% !" wx !"#$%None &(-3=JK'2An effect that describes an implicit environment. (#Retrieves the current environment. )ARetrieves a value that is a function of the current environment. *0Runs a computation with a modified environment. +Completely handes a 'S effect by providing an environment value to be used throughout the computation. y&'z()*+{&'()*+&'+()*y&'z()*+{None&(-3JK-GDescribes a Prolog-like cut effect. This effect must be used with the / effect./1Describes a nondeterminism (backtracking) effect.09Nondeterministically chooses a value from the input list.1DDescribes a nondeterministic computation that never returns a value.2ANondeterministically chooses a value from a list of computations.3YObtains all possible values from a computation parameterized by a nondeterminism effect.4NPrevents backtracking past the point this value was invoked. Unlike Prolog's ! operator, 4X will cause the current computation to fail immediately, instead of when it backtracks.5 Handles the - effect. 4Ns have no effect beyond the scope of the computation passed to this function.,-|./}~012345 ,-./012345 ./3012,-45 ,-|./}~012345None &(-3=JK7GAn effect described by a monad. All monads are functors, but not all s have ) instances. By wrapping a monad in the 7> effect, all monads can be used without having to provide a  instance for each one. 8&Lifts a monadic value into an effect. 9UConverts a computation containing only monadic effects into a monadic computation. 6789678967986789None&(-3JK;1An effect that describes concurrent computation. <%Yields to the next available thread. =Forks a child thread. >+Immediately terminates the current thread. ?WExecutes a threaded computation synchronously. Completes when the main thread exits. @bExecutes a threaded computation synchronously. Does not complete until all threads have exited. A0Executes a threaded computation asynchronously. :;<=>?@A:;<=>?@A:;?@A<=> :;<=>?@A None &(-3=JKC5An effect that describes the possibility of failure. DRaises an exception. E9Handles an exception. Intended to be used in infix form. 1myComputation `except` \ex -> doSomethingWith ex FEnsures that a computation is run after another one completes, regardless of whether an exception was raised. Intended to be used in infix form. Bdo x <- loadSomeResource doSomethingWith x `finally` unload x G(Completely handles an exception effect. BCDEFGBCDEFGBCGDEFBCDEFG None &(-3=JKIA suspended computation.J7Describes a computation that provided a value of type i and awaits a value of type o.K!Describes a finished computation.L/An effect describing a suspendable computation.M?Suspends the current computation by providing a value of type i& and then waiting for a value of type o.N Converts a L effect into an I. HIJKLMNHIJKLMNHLIKJNMHIKJLMN NoneO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN O P Q R S T U V W X Y Z [ \ ] ] ^ _ ` a b b c d e  f g h i j k l m n o p q rstuvwxvwyvwz{|}~(4}:<vvD  P  Y effin-0.1.1.0Control.Effect.UnionControl.Monad.EffectControl.Effect.WriterControl.Effect.StateControl.Effect.ReaderControl.Effect.ListControl.Effect.LiftControl.Effect.ThreadControl.Effect.ExceptionControl.Effect.Coroutine Data.UnionControl.Effect++ KnownListMemberUnionHandlerEffect runEffectsend sendEffecthandle eliminate interceptrelay defaultRelay emptyRelay EffectWriterWritertelllistenlistenspasscensor runWriter EffectUnionnestrunUnion EffectStateStategetgetsputmodifymodify'state withStaterunState evalState execState EffectReaderReaderaskaskslocal runReader EffectCutCut EffectListListchooseneverselectrunListcutrunCut EffectLiftLiftliftrunLift EffectThreadThreadyieldforkabortrunMainrunSyncrunAsyncEffectException Exceptionraiseexceptfinally runExceptionEffectCoroutineIteratorNextDone Coroutinesuspend runCoroutinesizeSizeIndexOfNSZIndexMember'index'indexinjectprojectreduceflatten withUnion absurdUnion withIndex $fKnownList: $fKnownList[] $fMember'e:S $fMember'e:Z $fMembertts$fFunctorUnionunEffect $fMonadEffect$fApplicativeEffectbase Data.MonoidMonoidmemptymappend WriterTypepointbind UnionType relayUnion StateType ReaderTypeunList$fMonadPlusEffect$fAlternativeEffectGHC.BaseMonadFunctorLiftTypeunLift $fFunctorLift ThreadASTAbortASTForkASTYieldASTAbortForkYieldtoAST ExceptionType unException CoroutineType