úÎ÷60      !"#$%&'()*+,-./ Safe-Inferred~We often need to distinguish between various forms of Functor-like composition in Haskell in order to please the type system. 9 This lets us work with these representations uniformly. 00portable provisionalEdward Kmett <ekmett@gmail.com>None 12345678   12345678portable provisionalEdward Kmett <ekmett@gmail.com> Safe-Inferred  portable provisionalEdward Kmett <ekmett@gmail.com>None 9    9portable provisionalEdward Kmett <ekmett@gmail.com>None;Ideally we would offer a way to lift comonad homomorphisms  but this isn'4t Haskell 98, so we settle for the most common case  here. 8 liftTrans :: (forall a. w a -> v a) -> t w a -> t v a * cohoist = liftTrans (Identity . extract) ::portable provisionalEdward Kmett <ekmett@gmail.com>None;<=>?@ABCDEFGH  ;<=>?@ABCDEFGHportable provisionalEdward Kmett <ekmett@gmail.com>None!Read the current position "Seek to an absolute location  seek s = peek s . duplicate #Seek to a relative location  seeks f = peeks f . duplicate $-Peek at a value at a given absolute location # peek x . extend (peek y) = peek y %-Peek at a value at a given relative location I !"#$%JKLMNOPQR  !"#$% !"#$% I !"#$%JKLMNOPQRportable provisionalEdward Kmett <ekmett@gmail.com>None&'()*+,-./STUVWXYZ[\ &'()*+,-./ )*+&'(,-./&'()*+,-./STUVWXYZ[\]      !""#$%&'()*+,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abccomonad-transformers-2.1.2Data.Functor.CompositionControl.Comonad.Trans.IdentityData.Functor.CoproductControl.Comonad.Trans.ClassControl.Comonad.Hoist.ClassControl.Comonad.Trans.EnvControl.Comonad.Trans.StoreControl.Comonad.Trans.Traced Composition decomposecomposetransformers-0.3.0.0Control.Monad.Trans.Identity IdentityT Coproduct getCoproductleftright coproduct runIdentityT ComonadTranslower ComonadHoistcohoistEnvTEnvenvrunEnvrunEnvT lowerEnvTaskaskslocalStoreTStorestorerunStore runStoreT experimentposseekseekspeekpeeksTracedT runTracedTTracedtraced runTracedtracelistenlistenscensor$fCompositionCompose$fContravariantCoproduct$fComonadCoproduct$fExtendCoproduct$fTraversable1Coproduct$fTraversableCoproduct$fFoldable1Coproduct$fFoldableCoproduct$fFunctorCoproduct$fComonadTransIdentityT$fComonadHoistIdentityT envTTyCon envTConstr envTDataType$fTraversableEnvT$fFoldableEnvT $fApplyEnvT$fComonadHoistEnvT$fComonadTransEnvT $fComonadEnvT $fExtendEnvT $fFunctorEnvT $fDataEnvT$fTypeableEnvT$fTypeable1EnvT storeTTyCon$fComonadHoistStoreT$fComonadTransStoreT$fComonadStoreT$fExtendStoreT$fApplicativeStoreT $fApplyStoreT$fFunctorStoreT$fTypeableStoreT$fTypeable1StoreT tracedTTyCon$fTypeable1TracedT$fDistributiveTracedT$fComonadHoistTracedT$fComonadTransTracedT$fComonadTracedT$fExtendTracedT$fApplicativeTracedT$fApplyTracedT$fFunctorTracedT