úÎ!p‰jí^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\](c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'-.=>?HSUVXK)8extensible-skeletonThrowing an exceptionextensible-skeletonAn effect with no resultextensible-skeleton(,) already is a writer monad.extensible-skeletonfThe reader monad is characterised by a type equality between the result type and the enviroment type.extensible-skeleton [a, b, c] r is a -> b -> c -> rextensible-skeleton)Anonymous representation of instructions. extensible-skeletonTransformation between effectsextensible-skeletonA function to bind an  in .extensible-skeleton The extensible operational monadextensible-skeleton.A unit of named effects. This is a variant of (:|)! specialised for 'Type -> Type'.extensible-skeletonLift an instruction onto an  action.extensible-skeletonLift an instruction onto an + action and apply a function to the result.extensible-skeleton/Censor a specific type of effects in an action.extensible-skeletonUpcast an action.extensible-skeleton7Build a relay-style handler from a triple of functions. `runStateEff = peelEff1 (a s -> return (a, s)) (m k s -> let (a, s') = runState m s in k a s') extensible-skeleton/ specialised for continuations with no argumentextensible-skeleton( specialised for 1-argument continuationextensible-skeleton*A common value for the second argument of !. Binds an instruction directly.extensible-skeleton/A pre-defined value for the second argument of .. Preserves the argument of the continuation.extensible-skeleton/A pre-defined value for the second argument of /. Preserves two arguments of the continuation.extensible-skeletonReveal the final result of .extensible-skeletonTear down an action using the ^ instance of the instruction.extensible-skeleton Process an  action using a record of  s.extensible-skeletonPass the arguments of  to the supplied function. extensible-skeleton Create a _ of a   for an .!extensible-skeletonSpecialised version of  for s. You can pass a function a -> b -> ... -> (q -> r) -> r as a handler for  '[a, b, ...] q."extensible-skeleton$Non continuation-passing variant of !.#extensible-skeletonFetch the environment.$extensible-skeleton#Pass the environment to a function.%extensible-skeletonModify the enviroment locally.&extensible-skeletonRun the frontal reader effect.'extensible-skeletonGet the current state.(extensible-skeleton%Pass the current state to a function.)extensible-skeleton#Replace the state with a new value.*extensible-skeletonModify the state.+extensible-skeleton#Lift a state modification function.,extensible-skeletonRun the frontal state effect.-extensible-skeleton8Run the frontal state effect and return the final state..extensible-skeleton9Run the frontal state effect and return the final result./extensible-skeleton6Write the second element and return the first element.0extensible-skeletonWrite a value.1extensible-skeleton/Squash the outputs into one step and return it.2extensible-skeleton3Modify the output using the function in the result.3extensible-skeletonRun the frontal writer effect.4extensible-skeletonRun the frontal state effect.5extensible-skeleton)Break out of the computation. Similar to `.6extensible-skeleton,Run an effect which may fail in the name of k.7extensible-skeletonThrow an exception e,, throwing the rest of the computation away.8extensible-skeleton"Attach a handler for an exception.9extensible-skeletonRun an action and abort on 7.:extensible-skeleton!Put a milestone on a computation.;extensible-skeletonXTake a function and applies it to an Either effect iff the effect takes the form Left _.<extensible-skeleton*Run a computation until the first call of :.=extensible-skeleton$Place a continuation-passing action.>extensible-skeletonUnwrap a continuation.?extensible-skeleton=Call a function with the current continuation as its argumentextensible-skeletonRe-bind an unrelated actionextensible-skeletonreturn the resultextensible-skeleton%Handle the foremost type of an actionextensible-skeletonreturn the resultextensible-skeleton%Handle the foremost type of an actionextensible-skeletonreturn the resultextensible-skeleton%Handle the foremost type of an action!extensible-skeletonRe-bind an unrelated actionextensible-skeletonreturn the resultextensible-skeletonHandle the foremost action"extensible-skeletonHandle the foremost action@  !"#$%&'()*+,-./0123456789:;<=>?@   !"#$%&'()*+,-./0123456789;:<=>? 1(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'-.=>?@AHSUVX[Ë@extensible-skeletonmtl-compatible continuationAextensible-skeletonmtl-compatible either effectBextensible-skeletonSame as A ()Cextensible-skeletonmtl-compatible writerDextensible-skeletonmtl-compatible stateEextensible-skeletonmtl-compatible readerFextensible-skeletonSpecialised version of & compatible with the a instance.Gextensible-skeleton, specialised for the b instance.Hextensible-skeleton. specialised for the b instance.Iextensible-skeleton- specialised for the b instance.Jextensible-skeletonJ specialised for the c instance.Kextensible-skeletonK specialised for the c instance.Lextensible-skeleton Similar to  runMaybeT , but on Mextensible-skeleton Similar to d , but on Nextensible-skeleton> specialised for the e instance.Pextensible-skeleton A bit dubious@ABCDEFGHIJKLMNEFDGHICJKBLAM@N(c) Fumiaki Kinoshita 2019BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy%&'-.=>?HSUVX_jÉZextensible-skeleton/Generate named effects from a GADT declaration. LdecEffects [d| data Blah a b x where Blah :: Int -> a -> Blah a b b |]  generates ýtype Blah a b = "Blah" >: Action '[Int, a] b blah :: forall xs a b . Associate "Blah" (Action '[Int, a] b) xs => Int -> a -> Eff xs b blah a0 a1 = liftEff (Data.Proxy.Proxy :: Data.Proxy.Proxy "Blah") (AArgument a0 (AArgument a1 AResult)) [extensible-skeletonWInstead of making a type synonym for individual actions, it defines a list of actions.\extensible-skeletonKGenerates type synonyms for the set of actions and also individual actions.]extensible-skeleton+Generate effect suite with custom settings.]extensible-skeleton(generate a synonym of the set of actionsextensible-skeleton(generate synonyms for individual actionsZ[\]Z[\]f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnloplqrstluvwextensible-skeleton-0-inplaceData.Extensible.EffectData.Extensible.Effect.DefaultData.Extensible.Effect.THbaseData.Functor.IdentityIdentitytransformers-0.5.6.2Control.Monad.Trans.ContContT Control.Monad.Trans.State.StrictState EitherEffMaybeEff WriterEff ReaderEffFunctionActionAResult AArgument InterpreterrunInterpreterRebinderEff InstructionliftEffliftsEffhoistEffcastEffpeelEffpeelEff0peelEff1 rebindEff0 rebindEff1 rebindEff2leaveEff retractEff handleEff runAction@!? peelAction peelAction0askEffasksEfflocalEff runReaderEffgetEffgetsEffputEff modifyEffstateEff runStateEff execStateEff evalStateEff writerEfftellEff listenEffpassEff runWriterEff execWriterEff nothingEff runMaybeEffthrowEffcatchEff runEitherEfftickEff mapLeftEff runIterEffcontEff runContEff callCCEffContDef EitherDefMaybeDef WriterDefStateDef ReaderDef runReaderDef runStateDef evalStateDef execStateDef runWriterDef execWriterDef runMaybeDef runEitherDef runContDef$fMonadPlusSkeleton$fAlternativeSkeleton$fMonadErroreSkeleton$fMonadWriterwSkeleton$fMonadStatesSkeleton$fMonadReaderrSkeleton$fMonadCatchSkeleton$fMonadThrowSkeleton$fMonadResourceSkeleton$fMonadIOSkeleton$fMonadContSkeleton decEffects decEffectSetdecEffectSuitecustomDecEffectsGHC.BaseMonadextensible-0.7-inplaceData.Extensible.FieldField GHC.MaybeNothing mtl-2.2.2Control.Monad.Reader.Class MonadReaderControl.Monad.State.Class MonadStateControl.Monad.Writer.Class MonadWriterControl.Monad.Trans.Except runExceptTControl.Monad.Cont.Class MonadCont