>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm n o p q r s t u v w x y z { | } ~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe%&,9:;<=?DOQRT  5Safe%&,9;<=?DQR=for get/put of a value in a HList, with type-directed lookup.Safe%&,9;<=?DQRSafe%&,9:;<=?DOQRT2A MultiWriter transformer carrying an empty state.,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).m - The inner monad. corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiWriterT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Writer transformer containing the types [Int, Bool].AA raw extractor of the contained HList (i.e. the complete state).!SMap both the return value and the state of a computation using the given function.% !"#$%&'()*+,-./0123456789:;<=> !"#$%&'()*+,-./0"#$%&'()*+,-./0! # !"#$%&'()*+,-./0123456789:;<=>Safe%&,9:;<=?DOQRT@2A MultiWriter transformer carrying an empty state.A,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).m - The inner monad.A corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiWriterT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Writer transformer containing the types [Int, Bool].DAA raw extractor of the contained HList (i.e. the complete state).FSMap both the return value and the state of a computation using the given function.%?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc?@ABCDEFGHIJKLMNOPQRSTUABC@?GHIJKLMNOPQRSTUFDE#?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcSafe%&,9:;<=?DQR !"#$%&'()*+,-./"#$%&'()*+,-./! Safe%&,9;<=?DQRdAll methods must be defined.,The idea is: Any monad stack is instance of MonadMultiReader a, iff the stack contains a MultiReaderT x with a element of x.defdededefSafe%&,9;<=?DQRgwIn contrast to MonadMultiReader, MonadMultiGet is defined for State too, so it corresponds to read-access of any kind.9Note however that for MultiRWS, only the values from the state part can be accessed via  MonadMultiGet', due to limitations of the design of MultiRWS; and of the type system. This is issue is resolved in the MultiGST type.ghighghghiSafe%&,9;<=?DQRjklghjkghjkjkl Safe%&,9;<=?DQRmYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identityn2A MultiReader transformer carrying an empty state.o,A Reader transformer monad patameterized by:Hx - The list of types constituting the environment / input (to be read),m - The inner monad.o corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiReaderT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Reader transformer containing the types [Int, Bool].rBA raw extractor of the contained HList (i.e. the complete Reader).tYMap both the return value and the environment of a computation using the given function.?Note that there is a difference to mtl's ReaderT, where it is not$ possible to modify the environment.!mnopqrstuvwxyz{|}~deghmnopqrstuvwxyz{|}~opqnmdeghuvwxyz{|}~trsmnopqrstuvwxyz{|}~Safe%&,9;<=?DQRdemnopqrstuvwxyz{|}~opqnmdeuvwxyz{|}~trs Safe%&,9;<=?DQRYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity2A MultiReader transformer carrying an empty state.,A Reader transformer monad patameterized by:Hx - The list of types constituting the environment / input (to be read),m - The inner monad. corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiReaderT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Reader transformer containing the types [Int, Bool].BA raw extractor of the contained HList (i.e. the complete Reader).YMap both the return value and the environment of a computation using the given function.?Note that there is a difference to mtl's ReaderT, where it is not$ possible to modify the environment.!deghdegh Safe%&,9;<=?DQRIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity1A MultiState transformer carrying an empty state.+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad. corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 0MultiStateT '[Int, Bool] :: (* -> *) -> (* -> *)4is a State wrapper containing the types [Int, Bool].AA raw extractor of the contained HList (i.e. the complete state).SMap both the return value and the state of a computation using the given function./$ghjk$ghjk- Safe%&,9:;<=?DOQRTB     ;deghjk     ;deghjk     @     Safe%&,9;<=?DQR;deghjk     ;deghjk     Safe%&,9;<=?DQR$ghjk$ghjk Safe%&,9;<=?DQR IA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity!1A MultiState transformer carrying an empty state."+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad." corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 0MultiStateT '[Int, Bool] :: (* -> *) -> (* -> *)4is a State wrapper containing the types [Int, Bool].%AA raw extractor of the contained HList (i.e. the complete state).'SMap both the return value and the state of a computation using the given function./ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN$ghjk !"#$%&'()*+,-./0123456789:;<=>?$"#$! ghjk()*+,-./0123456789:;<=>?'%&- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNSafe%&,9:;<=?DOQRTBOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;deghjkOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;QRSPOdeghjkTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~@OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None%&*,9;<=?DIQRf,None%&,9;<=?DIQRf(deghjk(deghjkNone%&,9;<=?DIQRf$degh$deghNone%&,9;<=?DQR&degh&degh !"#$%&'()*+,-./01233456789:;<=>?@ABCDEFGHIJKLMNOPQRST1233456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ _ ` ` a 5 6 b c d e f g h i j k l m n o p q r s t u v w x y z { ^ _ ` ` a 5 6 b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ ~  5 6 l F     g h i j > ? @ A B C D E k l F | } ~ ~  5 6 l F ghij>?@ABCDEklF55     )multistate-0.8.0.0-DINL06g6E7fDUvi7LiV9pTData.HList.HListData.HList.ContainsType%Control.Monad.Trans.MultiWriter.Class$Control.Monad.Trans.MultiWriter.Lazy&Control.Monad.Trans.MultiWriter.Strict%Control.Monad.Trans.MultiReader.Class"Control.Monad.Trans.MultiGet.Class$Control.Monad.Trans.MultiState.Class$Control.Monad.Trans.MultiReader.Lazy&Control.Monad.Trans.MultiReader.Strict#Control.Monad.Trans.MultiState.Lazy!Control.Monad.Trans.MultiRWS.Lazy%Control.Monad.Trans.MultiState.Strict#Control.Monad.Trans.MultiRWS.Strict!Control.Monad.Trans.MultiGST.Lazy#Control.Monad.Trans.MultiGST.StrictControl.Monad.Trans.MultiWriterControl.Monad.Trans.MultiReaderControl.Monad.Trans.MultiRWSControl.Monad.Trans.MultiState#Control.Monad.Trans.MultiGST.CommonControl.Monad.Trans.MultiGSTHInithInithSplitAppendHListHNil:+:hAppend$fHInit: $fHInit[] $fEqHList $fEqHList0 $fMonoidHList$fMonoidHList0$fSemigroupHList$fSemigroupHList0 $fShowHList $fShowHList0 ContainsType setHListElem getHListElem$fContainsTypea:$fContainsTypea:0MonadMultiWritermTell$fMonadMultiWriterat MultiWriterMultiWriterTNull MultiWriterTrunMultiWriterTRawmGetRawmPutRawmapMultiWriterTrunMultiWriterTrunMultiWriterTAWrunMultiWriterTWArunMultiWriterTWrunMultiWriterTNilrunMultiWriterTNil_withMultiWriterwithMultiWriterAWwithMultiWriterWAwithMultiWriterWwithMultiWriterswithMultiWritersAWwithMultiWritersWAwithMultiWritersW inflateWriter$fMonadBaseControlbMultiWriterT$fMonadTransControlMultiWriterT$fMonadBasebMultiWriterT$fMonadPlusMultiWriterT$fAlternativeMultiWriterT$fMonadIOMultiWriterT$fMonadWriterwMultiWriterT$fMonadStatesMultiWriterT$fMonadFixMultiWriterT$fMonadMultiWriteraMultiWriterT$fMonadTransMultiWriterT$fMonadMultiWriterT$fApplicativeMultiWriterT$fFunctorMultiWriterTMonadMultiReadermAsk$fMonadMultiReaderat MonadMultiGetmGet$fMonadMultiGetatMonadMultiStatemSet$fMonadMultiStateat MultiReaderMultiReaderTNull MultiReaderTrunMultiReaderTRawmapMultiReaderTrunMultiReaderTrunMultiReaderT_runMultiReaderTNilrunMultiReaderTNil_withMultiReaderwithMultiReader_withMultiReaderswithMultiReaders_withoutMultiReader inflateReader$fMonadBaseControlbMultiReaderT$fMonadTransControlMultiReaderT$fMonadBasebMultiReaderT$fMonadPlusMultiReaderT$fAlternativeMultiReaderT$fMonadIOMultiReaderT$fMonadWriterwMultiReaderT$fMonadStatesMultiReaderT$fMonadFixMultiReaderT$fMonadMultiGetaMultiReaderT$fMonadMultiReaderaMultiReaderT$fMonadTransMultiReaderT$fMonadMultiReaderT$fApplicativeMultiReaderT$fFunctorMultiReaderT MultiStateMultiStateTNull MultiStateTrunMultiStateTRawmapMultiStateTrunMultiStateTrunMultiStateTASrunMultiStateTSArunMultiStateTArunMultiStateTSrunMultiStateT_runMultiStateTNilrunMultiStateTNil_withMultiStatewithMultiStateASwithMultiStateSAwithMultiStateAwithMultiStateSwithMultiState_withMultiStateswithMultiStatesASwithMultiStatesSAwithMultiStatesAwithMultiStatesSwithMultiStates_withoutMultiState inflateState$fMonadBaseControlbMultiStateT$fMonadTransControlMultiStateT$fMonadBasebMultiStateT$fMonadPlusMultiStateT$fAlternativeMultiStateT$fMonadIOMultiStateT$fMonadWriterwMultiStateT$fMonadStatesMultiStateT$fMonadFixMultiStateT$fMonadMultiStateaMultiStateT$fMonadMultiGetaMultiStateT$fMonadTransMultiStateT$fMonadMultiStateT$fApplicativeMultiStateT$fFunctorMultiStateTMultiRWS MultiRWSTNull MultiRWSTrunMultiRWSTRaw runMultiRWSTrunMultiRWSTASW runMultiRWSTWrunMultiRWSTAWrunMultiRWSTSWrunMultiRWSTNilrunMultiRWSTNil_inflateMultiReaderinflateMultiWriterinflateMultiStatemGetRawRmPutRawRmGetRawWmPutRawWmGetRawSmPutRawS mapMultiRWST$fMonadBaseControlbMultiRWST$fMonadTransControlMultiRWST$fMonadBasebMultiRWST$fMonadPlusMultiRWST$fAlternativeMultiRWST$fMonadIOMultiRWST$fMonadFixMultiRWST$fMonadMultiStateaMultiRWST$fMonadMultiGetaMultiRWST$fMonadMultiWriteraMultiRWST$fMonadMultiReaderaMultiRWST$fMonadTransMultiRWST$fMonadMultiRWST$fApplicativeMultiRWST$fFunctorMultiRWSTContainsWriter ContainsStateContainsReader CanReadWriteGettableSettableTellableMultiGST MultiGSTTNull MultiGSTTrunMultiGSTTRawrunMultiGSTTNilrunMultiGSTTNil_ withReader withReader_ withReaders withWriter withWriterAW withWriterWA withWriterW withState withStateAS withStateSA withStateA withStateS withState_withoutmSetRaw mapMultiGSTT$fMonadMultiWriteraMultiGSTT$fMonadMultiStateaMultiGSTT$fMonadMultiGetaMultiGSTT$fFunctorMultiGSTT$fApplicativeMultiGSTT$fMonadMultiGSTT$fMonadTransMultiGSTT$fMonadIOMultiGSTT$fAlternativeMultiGSTT$fMonadPlusMultiGSTT+transformers-0.5.5.0-1Sm178hzUZ5Hrjpn5oe0JDControl.Monad.Trans.Writer.LazyWriterT!Control.Monad.Trans.Writer.StrictControl.Monad.Trans.ReaderReaderTControl.Monad.Trans.State.LazyStateT Control.Monad.Trans.State.StrictHListMGettableClassHListMGettableOnlyhListMGettableOnlyAppendMReaders HListMReadersAppendMHListMHNilM:+-::++::-+:CanWriteConstraintHListMContainsreadHListMElemwriteHListMElemHListMContainsImplicationCanReadWriteFlag GettableFlag SettableFlag TellableFlag$fHListMGettableClass:$fHListMGettableClass:0$fHListMGettableClass:1$fHListMGettableClass[] $fEqHListM $fEqHListM0 $fEqHListM1 $fEqHListM2$fMonoidHListM$fSemigroupHListM$fHListMContainsSettableFlagx:$fHListMContainsSettableFlagx:0$fHListMContainsTellableFlagx:$fHListMContainsTellableFlagx:0$fHListMContainsGettableFlagx:$fHListMContainsGettableFlagx:0$fHListMContainsGettableFlagx:1