!_      !"#$%&'()*+,-. / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !!! ! ! ! ! !!!!!!!""##$$%%&&&& &!'"(#($(%(&('((()(*(+(,)-).)/)0)1)2)3)4)5)6)7*8*9*:*;+<+=+>+?+@+A+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-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/{/|/}/~/0000000000000000000001111123333333333333333449Safe,-.=>?@AEHRSUVWXkq80129 Safe,-.=>?@AEHRSUVWXkq  Safe,-.=>?@AEHRSUVWXkq7 pandora When providing a new instance, you should ensure it satisfies the two laws: * Identity morphism: contramap identity "a identity * Composition of morphisms: contramap f . contramap g "a contramap (g . f) pandoraInfix version of  pandoraPrefix version of  pandora7Replace all locations in the output with the same valuepandoraFlipped version of  pandoraFill the input of evaluation     4 44Safe,-.=>?@AEHRSUVWXkq&pandora When providing a new instance, you should ensure it satisfies the two laws: * Identity morphism: comap identity "a identity * Composition of morphisms: comap (f . g) "a comap f . comap gpandoraInfix version of pandoraPrefix version of pandora6Replace all locations in the input with the same valuepandoraFlipped version of pandora!Discards the result of evaluation444Safe,-.=>?@AEHRSUVWXkq/gpandora When providing a new instance, you should ensure it satisfies the three laws: * Composition: (.) <$> u <*> v <*> w "a u <*> (v <*> w) * Left interchange: x <*> (f <$> y) "a (. f) <$> x <*> y * Right interchange: f <$> (x <*> y) "a (f .) <$> x <*> ypandoraInfix version of pandoraPrefix version of pandora<Sequence actions, discarding the value of the first argumentpandora=Sequence actions, discarding the value of the second argumentpandoraRepeat an action indefinitely444Safe,-.=>?@AEHRSUVWXkq4pandora When providing a new instance, you should ensure it satisfies the two laws: * Associativity of <+>: (x <+> y) <+> z "a x <+> (y <+> z) * Left-distributes <$> over <+>: f <$> (x <+> y) "a (f <$> x) <+> (f <$> y)pandoraInfix version of pandoraPrefix version of 3Safe,-.=>?@AEHRSUVWXkq5 !"#$%#$% !"Safe,-.=>?@AEHRSUVWXkq6()*+,-)*+-,((0 Safe,-.=>?@AEHRSUVWXkq>.pandora rWhen providing a new instance, you should ensure it satisfies the one law: * Interchange: t >>= f = join (f <$> t)/pandoraInfix and flipped version of 1, the dual of =>>0pandoraFlipped version of /, the dual of <<=1pandoraPrefix and flipped version of /, the dual of extend2pandora$Merge effects/contexts, the dual of  duplicate3pandora!Left-to-right Kleisli composition4pandora!Right-to-left Kleisli composition./12043./12043/1013141 Safe,-.=>?@AEHRSUVWXkqE6pandora When providing a new instance, you should ensure it satisfies the four laws: * Left adjunction identity: phi counit "a identity * Right adjunction identity: psi unit "a identity * Left adjunction interchange: phi f "a comap f . eta * Right adjunction interchange: psi f "a epsilon . comap f7pandoraLeft adjunction8pandoraRight adjunction56789:6789:5 Safe,-.=>?@AEHRSUVWXkqK;pandora %Let f :: Distributive g => (a -> g b) When providing a new instance, you should ensure it satisfies the two laws: * Identity morphism: distribute . distribute "a identity * Interchange collection: collect f "a distribute . comap f<pandoraInfix version of ==pandoraPrefix version of <>pandora The dual of sequence;<>=;<>= Safe,-.=>?@AEHRSUVWXkqO;?pandora When providing a new instance, you should ensure it satisfies the two laws: * Left absorption: x <+> exclusive "a x * Right absorption: exclusive <+> x "a x?@?@ Safe,-.=>?@AEHRSUVWXkqXpApandora When providing a new instance, you should ensure it satisfies the three laws: * Duplication interchange: comap (comap f) . duplicate "a duplicate . comap f * Extension interchange: extend f "a comap f . duplicateBpandoraInfix and flipped version of D, the dual of >>=CpandoraFlipped version of >>=, the dual of =<<DpandoraPrefix and flipped version of B, the dual of bindEpandora&Clone existing structure, the dual of joinFpandora#Right-to-left Cokleisli compositionGpandora#Left-to-right Cokleisli compositionABDCEFGABDCEFGB1C1F1G1Safe,-.=>?@AEHRSUVWXkqYHIHISafe,-.=>?@AEHRSUVWXkq_Jpandora ]Let f :: (Pointable t, Bindable t) => t a -> b Let g :: (Pointable t, Bindable t) => t a -> b When providing a new instance, you should ensure it satisfies the three laws: * Left identity: extend extract "a identity * Right identity: extract . extend f "a f * Associativity: extend f . extend g "a extend (f . extend g)JJSafe,-.=>?@AEHRSUVWXkq`KLMNOPLMKNOPK1M1Safe,-.=>?@AEHRSUVWXkqe.Vpandora When providing a new instance, you should ensure it satisfies the two laws: Identity morphisms: invmap identity identity = identity Composition of morphisms: invmap g j . invmap f h = invmap (g . f) (h . j)VWVWSafe,-.=>?@AEHRSUVWXkqfXYXYSafe,-.=>?@AEHRSUVWXkqfZ[Z[Safe,-.=>?@AEHRSUVWXkqg\]\]Safe,-.=>?@AEHRSUVWXkqnH^pandora Let f :: (Pointable t, Bindable t) => a -> t a Let g :: (Pointable t, Bindable t) => a -> t a Let h :: (Pointable t, Bindable t) => t a When providing a new instance, you should ensure it satisfies the three laws: * Left identity: point a >>= f "a f a * Right identity: h >>= point "a h * Associativity: h >>= (\x -> f x >>= g) "a (h >>= f) >>= g^^Safe,-.=>?@AEHRSUVWXkqo&_`a_`aSafe,-.=>?@AEHRSUVWXkqq\lpandora!Make any bindable action continuempandoraCall with current continuationijklmijklmSafe,-.=>?@AEHRSUVWXkqx( tpandoraMake continuation observableupandora,Listen only first event, call back just oncevpandoraInfix version of uwpandora*Listen only first event, call back foreverxpandoraInfix version of wypandora2Listen all events from action, call back just oncezpandoraInfix version of y{pandora0Listen all events from action, call back forever|pandoraInfix version of { stuvwxyz{| stuwy{vxz|5Safe,-.=>?@AEHRSUVWXkqyN stuvwxyz{|Safe,-.=>?@AEHRSUVWXkq}pandora gLet f :: (Applicative t, Applicative g) => t a -> u a Let p :: (Pointable t, Pointable g) => t a -> u a  When providing a new instance, you should ensure it satisfies the four laws: * Naturality of traversing: g . traverse f "a traverse (g . f) * Naturality of sequencing: f . sequence = sequence . comap f * Preserving point: p (point x) "a point x * Preserving apply: f (x <*> y) "a f x <*> f y~pandoraInfix version of pandoraPrefix version of ~pandora The dual of  distribute}~}~6Safe,-.=>?@AEHRSUVWXkq?  ./1204356789:;<>=?@ABDCEFGHIJVWXYZ[\]^}~Safe,-.=>?@AEHRSUVWXkq 00Safe,-.=>?@AEHRSUVWXkq 7Safe,-.=>?@AEHRSUVWXkq& !"#$%Safe,-.=>?@AEHRSUVWXkq\Safe,-.=>?@AEHRSUVWXkqbSafe,-.=>?@AEHRSUVWXkqXSafe,-.=>?@AEHRSUVWXkqF Safe,-.=>?@AEHRSUVWXkqD!Safe,-.=>?@AEHRSUVWXkq*    "Safe,-.=>?@AEHRSUVWXkqpandora yWhen providing a new instance, you should ensure it satisfies the one law: * Associativity: x <> (y <> z) "a (x <> y) <> zpandoraInfix version of append#Safe,-.=>?@AEHRSUVWXkqpandora When providing a new instance, you should ensure it satisfies the two laws: * Left distributivity: x <> (y >< z) "a x <> y >< x <> z * Right distributivity: (y >< z) <> x "a y <> x >< z <> x$Safe,-.=>?@AEHRSUVWXkqpandora When providing a new instance, you should ensure it satisfies the two laws: * Right absorption: unit <> x "a x * Left absorption: x <> unit "a x%Safe,-.=>?@AEHRSUVWXkq|pandora When providing a new instance, you should ensure it satisfies the two laws: * Right absorption: x <> inverse x "a unit * Left absorption: inverse x <> x "a unit&Safe,-.=>?@AEHRSUVWXkqfpandora When providing a new instance, you should ensure it satisfies the three laws: * Associativity: x \/ (y \/ z) "a (x \/ y) \/ z * Commutativity: x \/ y "a y \/ x * Idempotency: x \/ x "a xpandora When providing a new instance, you should ensure it satisfies the three laws: * Associativity: x /\ (y /\ z) "a (x /\ y) /\ z * Commutativity: x /\ y "a y /\ x * Idempotency: x /\ x "a x  'Safe,-.=>?@AEHRSUVWXkqr!pandora zWhen providing a new instance, you should ensure it satisfies the one law: * Absorption: a \/ (a /\ b) "a a /\ (a \/ b) "a a!!(Safe,-.=>?@AEHRSUVWXkq"pandora When providing a new instance, you should ensure it satisfies the four laws: * Reflexivity: x == x "a True * Symmetry: x == y "a y == x * Transitivity: x == y && y == z "a True ===> x == z "a True * Negation: x /= y "a not (x == y) "#$%'&()*+ %'&()*+"#$#4$4(3) )Safe,-.=>?@AEHRSUVWXkq,pandora When providing a new instance, you should ensure it satisfies the three laws: * Reflexivity: x <= x "a True * Transitivity: x <= y && y <= z "a True ===> x <= z "a True * Antisymmetry: x <= y && y <= x "a True ===> x == y "a True ,-1./023546 23546,-1./08Safe,-.=>?@AEHRSUVWXkq?# !"#$%'&()*+,-1./023546*Safe,-.=>?@AEHRSUVWXkq789789+Safe,-.=>?@AEHRSUVWXkq;<;<,Safe,-.=>?@AEHRSUVWXkquQRSTUVWRSTQUVW-Safe,-.=>?@AEHRSUVWXkq]^_`abc^_`]abc.Safe,-.=>?@AEHRSUVWXkq1kpandoraLens composition infix operatorlpandoraGet the target of a lensmpandoraInfix version of lnpandoraReplace the target of a lensopandoraInfix version of nppandoraModify the target of a lensqpandoraInfix version of pjklmnopqjklnpmoq/Safe,-.=>?@AEHRSUVWXkqGrstuvwsturvw9Safe,-.=>?@AEHRSUVWXkqMQRSTUVW]^_`abcjklmnopqrstuvw0Safe,-.=>?@AEHRSUVWXkq1Safe,-.=>?@AEHRSUVWXkq2Safe,-.=>?@AEHRSUVWXkq3Safe,-.=>?@AEHRSUVWXkqy4Safe,-.=>?@AEHRSUVWXkqo9 KLMNOP_`aijklm  789;<:;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYYZ[[\]^_`abcd e f g h i j k l m 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'O(P(Q(R(S(T(U(V(W(X(Y)Z)[)\)])^)_)`)a)b)c)d*e*e*f*g+h+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|,},~,~,,,,,,,,,-------------......../////////////000000000000000000000111112333333333333333344$pandora-0.1.1-CCEdh3sfXRKIOR57GzyFy7Pandora.Core.MorphismPandora.Paradigm.Basis.Fix%Pandora.Pattern.Functor.Contravariant!Pandora.Pattern.Functor.Covariant#Pandora.Pattern.Functor.Applicative#Pandora.Pattern.Functor.AlternativePandora.Paradigm.Junction.KanPandora.Core.Functor Pandora.Pattern.Functor.BindablePandora.Pattern.Functor.Adjoint$Pandora.Pattern.Functor.Distributive!Pandora.Pattern.Functor.Exclusive"Pandora.Pattern.Functor.Extendable#Pandora.Pattern.Functor.ExtractablePandora.Pattern.Functor.ComonadPandora.Paradigm.Basis.Product!Pandora.Pattern.Functor.Invariant Pandora.Pattern.Functor.Liftable!Pandora.Pattern.Functor.Lowerable!Pandora.Pattern.Functor.PointablePandora.Pattern.Functor.MonadPandora.Paradigm.Basis.Yoneda#Pandora.Paradigm.Basis.Continuation'Pandora.Paradigm.Controlflow.Observable#Pandora.Pattern.Functor.Traversable%Pandora.Paradigm.Junction.Transformer%Pandora.Paradigm.Junction.CompositionPandora.Paradigm.Basis.WyePandora.Paradigm.Basis.JackPandora.Paradigm.Basis.FreePandora.Paradigm.Basis.EdgesPandora.Paradigm.Basis.ConstantPandora.Paradigm.Basis.Cofree Pandora.Pattern.Object.SemigroupPandora.Pattern.Object.RingoidPandora.Pattern.Object.MonoidPandora.Pattern.Object.Group"Pandora.Pattern.Object.SemilatticePandora.Pattern.Object.LatticePandora.Pattern.Object.SetoidPandora.Pattern.Object.Chain Pandora.Paradigm.Basis.PredicatePandora.Paradigm.Basis.Identity"Pandora.Paradigm.Inventory.Storage#Pandora.Paradigm.Inventory.Stateful!Pandora.Paradigm.Inventory.Optics(Pandora.Paradigm.Inventory.EnvironmentalPandora.Paradigm.Basis.Maybe Pandora.Paradigm.Structure.StackPandora.Paradigm.Structure!Pandora.Paradigm.Basis.ConclusionPandora.Paradigm.BasisPandora.Paradigm.ControlflowPandora.Pattern.FunctorPandora.Paradigm.JunctionPandora.Pattern.ObjectPandora.Paradigm.Inventoryidentityfix.$&!?Fixunfix Contravariant>$< contramap>$$<full Covariant<$>comap<$$>void $fCovariant-> Applicative<*>apply*><*forever Alternative<+>alterRanranLanlan$fContravariantLan$fCovariantRan:.:VariantCoContra~>NaturalBindable>>==<<bindjoin>=><=<-|Adjointphipsietaepsilon Distributive>>-collect distribute Exclusive exclusive Extendable=>><<=extend duplicate=<==>= ExtractableextractComonad:*Productdeltaswapattached$fAdjointProduct->$fComonadProduct$fExtendableProduct$fExtractableProduct$fCovariantProduct InvariantinvmapLiftablelift Lowerablelower PointablepointMonadYonedayoneda$fAdjointYonedaYoneda$fExtractableYoneda$fPointableYoneda$fExclusiveYoneda$fApplicativeYoneda$fAlternativeYoneda$fCovariantYoneda Continuationcontinueobligecwcc$fMonadContinuation$fBindableContinuation$fApplicativeContinuation$fPointableContinuation$fCovariantContinuation Observableobservenotify.:~.follow.:~* subscribe*:~.watch*:~* Traversable->>traversesequenceYyTt:>::!:up$fDistributiveT$fTraversableT $fLowerableT $fLiftableT$fApplicativeT$fAlternativeT $fExclusiveT$fExtractableT $fPointableT $fCovariantT $fLowerableY $fLiftableY$fDistributiveY$fTraversableY$fApplicativeY$fAlternativeY $fExclusiveY$fExtractableY $fPointableY $fCovariantYUUUuuuUUuuUu $fAdjointUU$fDistributiveU$fTraversableU$fAlternativeU$fApplicativeU $fExclusiveU$fExtractableU $fPointableU $fCovariantU$fContravariantU$fContravariantU0 $fCovariantU0 $fAdjointUUUU$fDistributiveUU$fTraversableUU$fAlternativeUU$fApplicativeUU $fExclusiveUU$fExtractableUU $fPointableUU$fContravariantUU $fCovariantUU$fCovariantUU0$fCovariantUU1$fContravariantUU0$fContravariantUU1$fContravariantUU2$fCovariantUU2$fAdjointUUUUUU$fDistributiveUUU$fTraversableUUU$fAlternativeUUU$fApplicativeUUU$fExclusiveUUU$fExtractableUUU$fPointableUUU$fCovariantUUU$fContravariantUUU$fContravariantUUU0$fContravariantUUU1$fContravariantUUU2$fCovariantUUU0$fCovariantUUU1$fCovariantUUU2$fCovariantUUU3$fCovariantUUU4$fCovariantUUU5$fContravariantUUU3$fContravariantUUU4$fContravariantUUU5$fContravariantUUU6$fCovariantUUU6WyeEndLeftRightBothwye$fTraversableWye$fCovariantWyeJackItOtherjack$fLiftableJack$fDistributiveJack$fTraversableJack$fApplicativeJack$fExclusiveJack$fAlternativeJack$fPointableJack$fCovariantJackFreePureImpure$fTraversableFree$fBindableFree$fApplicativeFree$fExclusiveFree$fAlternativeFree$fPointableFree$fCovariantFreeEdgesEmptyConnectOverlayedges$fTraversableEdges$fCovariantEdgesConstant$fTraversableConstant$fInvariantConstant$fContravariantConstant$fCovariantConstantCofree:<unwrap coiteratesection$fComonadCofree $fMonadCofree$fExtendableCofree$fBindableCofree$fTraversableCofree$fApplicativeCofree$fExtractableCofree$fPointableCofree$fCovariantCofree Semigroup<>Ringoid><MonoidunitGroupinverse SemilatticeSupremum\/Infimum/\LatticeSetoid==/=BooleanTrueFalse&&||notboolChain<=><<=>>=OrderingLessEqualGreaterorder Predicate predicate$fContravariantPredicateIdentity$fGroupIdentity$fLatticeIdentity$fSupremumIdentity$fInfimumIdentity$fRingoidIdentity$fMonoidIdentity$fSemigroupIdentity$fChainIdentity$fSetoidIdentity$fAdjointIdentityIdentity$fComonadIdentity$fExtendableIdentity$fMonadIdentity$fBindableIdentity$fDistributiveIdentity$fTraversableIdentity$fApplicativeIdentity$fExtractableIdentity$fPointableIdentity$fCovariantIdentityStoreStoragestoredpositionaccessretrofit$fComonadStorage$fApplicativeStorage$fExtendableStorage$fExtractableStorage$fCovariantStorageStateStateful statefullygetmodifyput$fLiftableStateful$fMonadStateful$fBindableStateful$fPointableStateful$fApplicativeStateful$fCovariantStatefulLens|>view^.set.~over%~Environ Environmentalenvironmentallyasklocal$fLiftableEnvironmental$fMonadEnvironmental$fBindableEnvironmental$fAlternativeEnvironmental$fApplicativeEnvironmental$fPointableEnvironmental$fCovariantEnvironmentalMaybeNothingJustmaybe$fLatticeMaybe$fSupremumMaybe$fInfimumMaybe $fMonoidMaybe$fSemigroupMaybe $fChainMaybe $fSetoidMaybe$fMonadT $fBindableT $fMonadMaybe$fBindableMaybe$fTraversableMaybe$fAlternativeMaybe$fApplicativeMaybe$fExclusiveMaybe$fPointableMaybe$fCovariantMaybeStackpushtoppopemptyNonempty ConclusionFailureSuccess conclusion$fSemigroupConclusion$fChainConclusion$fSetoidConclusion$fMonadConclusion$fBindableConclusion$fTraversableConclusion$fAlternativeConclusion$fApplicativeConclusion$fPointableConclusion$fCovariantConclusionnotehush