vk      !"#$%&'()*+,-./0123456789:;<= > ? @ A B C D E F G H I J K L M N O P QRSTUVWX Y Z [ \ ] ^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe%&+,9:;<=DQR !"# #"!  !"#None*+DR$ Provides a conditional using an  alternation# operation, as opposed to using  Subeffect &WType family for describing how to combine effects of the two branches of an if '$Conditional on effectful operations $%&'$&%'$%&'$%&'None*+<=DR(!Specifies subeffecting behaviour *vSpecifies "parametric effect monads" which are essentially monads but annotated by a type-level monoid formed by , and + +-Effect of a trivially effectful computation |,*Cominbing effects of two subcomputations |--% provides a way to give instances of * their own constraints for / . Effect-parameterised version of .D. Annotated with the 'Unit m' effect, denoting pure compuation /Effect-parameterise version of /. (bind). Combines two effect annotations f and g$ on its parameter computations into , ()*+,-./01 ()*+,-/0.1 *+,-./01()()*+,-./01NoneCDQR2Type-level addition 3$The counter has no semantic meaning 5Provides a way to countc in the type-level with a monadic interface to sum up the individual counts of subcomputations -Define type constructors for natural numbers 6A 6) provides a way to increment the counter 2345672345654362234567None,DQR8Provides a way to count in the type-level with a monadic interface to sum up the individual counts of subcomputations. Instead of using our own inductive natural number typ, this uses the  kind from  $The counter has no semantic meaning ;A ;) provides a way to increment the counter 89:;<89:;89:<;89:;< None%&CDRC1Provides an indexed version of the |Maybe| monad =>?@ABCDEF=>?@ABC CBA=>?@FED=>?@ABCDEF None%&DRGAll monads are parametric effect monads with a trivial singleton-monoid index. This wrapper wraps normal monads into the Effect interface using the M contructor.Wrap regular monads up IUnwrap a monad GHIJGHIGHIJGHIJ None*+,DRKPData type denoting either a morphisms with source and target types, or identity NImplements Bob Atkey's 'parametric monads', and also the Control.Monad.Indexed package, by emulating indexing by morphisms Data type of morphisms KLMNOPKMLNONOKLMPKLMNOPNone)*+,9:;<=DQRQProvides a effect-parameterised version of the class reader monad. Effects are sets of variable-type pairs, providing an effect system for reader effects. TT for a variable v of type a, raising an effect UFProvides a way to emulated the ImplicitParams features of GHC/Haskell VIf s is a subset of t then, s is a subeffect of t QRSTUVW   QRSTU QRSTU QRSTUVW None ,9;<=DQRXProvides a weak reader monad, which can only read an item once. Provides an effect system as a list of the items that have been read [[ for a value of type a XYZ[\]XYZ[[XYZXYZ[\]None%&)*+,9:;<=DQR^4Captures what it means to be a set of state effects _"Calculate just the writer effects `"Calculate just the reader effects aParametric effect state monad ePUpdate 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 w| RType-level remove duplicates from a type-level list and turn different sorts into w| iDescribes an effect action s on a value of type a r&Provides a wrapper for effect actions tProvides an effect-parameterised version of the state monad, which gives an effect system for stateful computations with annotations that are sets of variable-type-action triples. +Distinguish reads, writes, and read-writes x"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 yRead from a variable v of type a. Raise a read effect. zWrite to a variable v with a value of type a. Raises a write effect 7^_`abcdefghijklmnopqrstuvwxyz{|}~# ^_`abcdefghijklomnpqrstuvwxyz# yzabcpqijtuvwrsklmnoxg`_fh^de)^_`abcdefghijklmnopqrstuvwxyz{|}~i3j3p2q2 None %&),9;<=CDRMParametric effect update monad. A bit like a writer monad specialised to the  monoid, providing a single memory cell that can be updated, but with heterogeneous behaviour. Provides an effect system that explains whether a single memory cell has been updated or not 0Update the memory cell with a new value of type a None %&9:<=CDRNone ,9;<=DQRProvides a kind of writer monad, which can only write an item once (no accumulation), an effect system as a list of the items that have been written Write a value of type a None%&+,9:;<=DQRT@Computes supermaps of maps of variable-type mappings, using the  operation Provides an effect-parameterised version of the writer monad. Effects are maps of variable-type pairs, providing an effect system for writer effects. Write to variable v with value of type a ;Define the operation for removing duplicates using mappend     None *+,<=DRT$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  and  "Coeffect-parameterised version of G, annotated with the 'Unit m' effect, denoting pure contexts !Coeffect-parameterise version of &. The two coeffec annotations s and tV on its parameter computations get combined in the parameter computation by  None%&*,9;<=DQRmProvides '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:;<=>?@ABCDEFGHIJKLHHMKN O P Q R S T U V W X Y Z [ \ ] ^ _ T T `abcdefg a h c d i gjklmmnop"qrsstuJvwwhxyz{|}~ p p w   { 12IJ3x{{B@AbdHM+effect-monad-0.7.0.0-EeFzhIkB1Cu7UrPCg4WBZ7Control.Effect.WriterControl.Effect.ReaderControl.Effect.StateControl.Effect.Helpers.ListControl.Effect.CondControl.EffectControl.Effect.CounterControl.Effect.CounterNatControl.Effect.MaybeControl.Effect.MonadControl.Effect.ParameterisedControl.Effect.ReadOnceReaderControl.Effect.UpdateControl.Effect.VectorControl.Effect.WriteOnceWriterControl.CoeffectControl.Coeffect.CoreaderGHCTypeLitsghc-prim GHC.TypesSymbol.type-level-sets-0.8.0.0-GSwT8z9u1h4FakAr792tLo Data.Type.Mapunion:->MappingUnionVarExtEmptyMapIsMap UnionableSubmap Data.Type.SetSetSplitSortSortableLookUpAlookupALookuplookupLookupTsplit:++ListNilConsappendlengthL $fLookUpAkk:y$fLookUpATYPEk:x $fSplit:ys $fSplit[]xsCondAltInvAltifM SubeffectsubEffectUnitPlusInvreturn>>=>>fail:+CounterSZtick$fEffectTYPECounterforget$fEffectNatCounterIMaybeINothingIJustIDynUTF$fCondTYPEIMaybe$fEffectTYPEIMaybe $fShowIMaybeMonadWrapunWrap$fEffectTYPEMonadMorphMId$fEffectMorphTReaderIxR runReaderaskmerge$fSubeffect[]Readerst$fEffect[]ReaderR$fCond[]ReaderStateSetWritesReadsStaterunState IntersectRUpdateUnionSSetLike:!XYActionEffWRWgetput$fEffect[]State $fUpdate:: $fUpdate:as' $fUpdate:as'0 $fUpdate::0 $fUpdatexs[] $fNubable:: $fNubable:as'$fNubable:as'0 $fNubable::0 $fNubable[][]$fShow:! $fShowVar $fShowVar0 $fShowVar1 $fShowVar2 $fShow:-> $fShowAction $fShowAction0 $fShowAction1 runUpdatePutNoPut$fEffectMaybeUpdateAddVector$fEffectTYPEVector WriteOnce runWriteOnce$fEffect[]WriteOnceWriter runWriter $fSupermap:: $fSupermap[]:$fSupermap[][]$fSubeffect[]Writerst $fNubable:$fEffect[]Writer Subcoeffectsubco CoeffectZipMeetCzipInvczipCoeffectextractextend IxCoreader runCoreader$fCoeffectZip[]IxCoreader$fCoeffect[]IxCoreaderNatNubableNub intersectRStateSetPropertiesupdatenubbaseGHC.BaseMaybeSupermapmemptysupermap