`T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o pqrstuvwxyz{|}~ Safe-Inferred !"(246=JK     None&'=K XType family for describing how to combine effects of the two branches of an if | %Conditional on effectful operations |      Safe-Inferred!"&'(2346=JK6 !"#$%&' !"#$%&'!#"%'& $, !#"$%&'None!"'(2346=JKM()*+,-./0123456789:; ()*+,-./012312,0/.-;:9837+*()654()*+,0/.-123456789:;12None&'6=K<"Specifies subeffecting behaviour |>Specifies "parametric effect monads" which are essentially monads but annotated by a type-level monoid formed by |Plus m| and |Unit m| |AA% provides a way to give instances of >" their own constraints for |>>=| |B Effect-parameterised version of BE. Annotated with the 'Unit m' effect, denoting pure compuation |CEffect-parameterise version of C-(bind). Combines two effect annotations f and g2 on its parameter computations into 'Plus m f g' | <=>?@ABCDE <=>?@ABCDE >?@ABCDE<=<=>?@ABCDENone<=JKFType-level addition |G%The counter has no semantic meaning |IProvides a way to countd in the type-level with a monadic interface to sum up the individual counts of subcomputations |.Define type constructors for natural numbers |JA J* provides a way to increment the counter | FGHIJFGHIJIHGJFFGHIJNone(=JKK%The counter has no semantic meaning |NA N* provides a way to increment the counter |KLMNOKLMNKLMONKLMNO None!"<=K PQRSTUVWXYPQRSTUV VUTPSRQYXWPSRQTUVWXY None!"=KZWrap regular monads up |\Unwrap a monad |Z[\]Z[\Z[\]Z[\] None&'(=K^QData type denoting either a morphisms with source and target types, or identity |aData type of morphisms |^_`abc^_`abab^`_c^`_abc None (246=JKgg for a value of type a |defgdefggdefdefg None !"%(246<=Kn0Update the memory cell with a new value of type a |hijklmnohijklmnkmlhijonhijkmlnoNone !"236<=K pqrstuvwpqrstuvutqsrpvwpqsrtuvwNone (246=JK{Write a value of type a |xyz{xyz{{xyzxyz{None%&'(2346=JK for a variable v of type a, raising an effect |GProvides a way to emulated the ImplicitParams features of GHC/Haskell |If s is a subset of t then, s is a subeffect of t ||}~!"#,-./012|}~|}~12,0/.-!#"|}~None%&'(2346=JK5Captures what it means to be a set of state effects |#Calculate just the writer effects |#Calculate just the reader effects |Parametric effect state monad |QUpdate reads, that is any writes are pushed into reads, a bit like intersection |SValue-level remove duplicates from a type-level list and turn different sorts into | RType-level remove duplicates from a type-level list and turn different sorts into | Describes an effect action s on a value of type a |'Provides a wrapper for effect actions |,Distinguish reads, writes, and read-writes |#Union operation for state effects |Intersects a set of write effects and a set of read effects, updating any read effects with any corresponding write value |Read from a variable v of type a. Raise a read effect. |Write to a variable v with a value of type a. Raises a write effect |,#!"#,-./012#!#"12,0/.-#None!"'(2346=JKM@Computes supersets of sets of variable-type mappings, using the  operation |Write to variable v with value of type a |<Define the operation for removing duplicates using mappend | !"#%,-./011!#"%,0/.- None &'(6=KM%Specifies sub-coeffecting behaviour |Zips( two coeffecting computations together |Specifies "parametric coeffect comonads" which are essentially comonads but annotated by a type-level monoid formed by |Plus m| and |Unit m| |"Coeffect-parameterised version of H, annotated with the 'Unit m' effect, denoting pure contexts |!Coeffect-parameterise version of &. The two coeffec annotations f and gU on its parameter computations get combined in the result by 'Plus m s t' | None !"&(246=JKnProvides 'reader monad'-like behaviour but as a comonad, using an indexed version of the product comonad | for the value of variable v , e.g., 'ask (Var::(Var "x"))' | !"#$%&'()*+,-./0123456789:;<=>?@AB?CCDEFGHIJKLMNOPQRSTUVWXY@ZXX[Z\ ] ^ _ ` a b c d e f g h i j k l m b b n o p q r s s t u v w x yz{Y@|}~xoqrs1uu~p9xxRPQrX[ ,.- ixmonad-0.56Control.Effect.WriterControl.Effect.Helpers.ListControl.Effect.CondControl.Effect.Helpers.SetControl.Effect.Helpers.MappingControl.EffectControl.Effect.CounterControl.Effect.CounterNatControl.Effect.MaybeControl.Effect.MonadControl.Effect.ParameterisedControl.Effect.ReadOnceReaderControl.Effect.UpdateControl.Effect.VectorControl.Effect.WriteOnceWriterControl.Effect.ReaderControl.Effect.StateControl.CoeffectControl.Coeffect.Coreaderbase GHC.TypeLitsSymbolSplitsplit:++ListConsNilappend $fSplit:ys $fSplit[]xsCondAltInvAltifMSubsetsubsetOrdHminHmaxHMaxMinSortNubablenubNubAppendSortable UnionableUnionIsSetAsSetSetExtEmptyasSetunionbsortChooserchooseChooseSelectVarZYX:->select $fChooserGT $fChooserEQ $fChooserLT $fOrdH:->:-> $fShowVar $fShowVar0 $fShowVar1 $fShow:-> SubeffectsubEffectUnitPlusInvreturn>>=>>fail:+CounterStickforget$fEffectNatCounterIMaybeIDynIJustINothingUTF $fCond*IMaybe$fEffect*IMaybe $fShowIMaybeMonadWrapunWrap$fEffect*MonadMorphIdM$fEffectMorphTReaderR runReaderaskUpdate runUpdateEffNoPutPutput$fEffectMaybeUpdateAddVector$fEffect*Vector WriteOnceW runWriteOnceIxRmergeStateSetWritesReadsStaterunState IntersectRUnionSSetLike:!ActionRWgetWriter runWriter Subcoeffectsubco CoeffectZipMeetCzipInvczipCoeffectextractextend IxCoreader runCoreader$fCoeffectZip[]IxCoreader$fCoeffect[]IxCoreader TFCo:R::++:ysTFCo:R::++[]ysShow'show'PasserpassPassBubblerbubbleBubble SetProperties $fSubsets: $fSubset:: $fSubset[]t $fSplits:: $fSplit:t: $fSplit::: $fSplit[][][] $fShow'Set $fShow'Set0 $fShowSet $fShowSet0 $fPasser: $fPasser:0 $fPasser[] $fBubblers: $fBubblers[] $fNubable: $fNubable:0 $fNubable[]TFCo:R:Max:->:->TFCo:R:Min:->:->$fEffect*Counter TFCo:R::+nS TFCo:R::+nZ$fCond[]Reader$fEffect[]Reader TFCo:R:AddSm TFCo:R:AddZm$fEffect[]WriteOnce$fSubeffect[]Readerst intersectRStateSetPropertiesupdate$fEffect[]State $fUpdate:: $fUpdate:as' $fUpdate:as'0 $fUpdate:as'1 $fUpdate::0 $fUpdatexs[] $fNubable:: $fNubable:as'$fNubable:as'0 $fNubable::0 $fNubable[][]$fShow:! $fShowAction $fShowAction0 $fShowAction1Superset Data.Monoidmemptysuperset $fSuperset:: $fSuperset[]:$fSuperset[][]$fSubeffect[]Writerst$fEffect[]Writer