úÎkaaÍ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ BSD-style (see the file LICENSE)sjoerd@w3future.com experimental non-portableNone%&*+,9:;<=DOQRT[af [Automatically apply a lifted function to a polymorphic argument as many times as possible.sA constraint `FunConstraint c t` is equivalent to the conjunction of constraints `c s` for every argument type of t.If r is not a function type: …c a :- FunConstraints c (a -> r) (c a, c b) :- FunConstraints c (a -> b -> r) (c a, c b, c d) :- FunConstraints c (a -> b -> d -> r) &The result type of a curried function.If r= is not a function type (i.e., does not unify with `_ -> _`):  (a -> r) ~ r  (a -> b -> r) ~ r  (a -> b -> c -> r) ~ r Any type is instance of , you can use it with @0 if you don't actually need a class constraint.# is a constraint type synonym. The Q instance can be derived, and any generic representation will be an instance of ) and .1 is a constraint type synonym. An instance is an ! with *at least* one constructor.  1 is a constraint type synonym. An instance is an  with *exactly* one constructor.  [ is a constraint type synonym, containing the constraint requirements for an instance for t of class c$. It requires an instance of class c for each component of t.A generic function using a W works on any algebraic data type, including those with no constructors and constants.A generic function using a 7 works on any data type with at least one constructor.A generic function using a ^ works on any data type with exactly one constructor, a.k.a. records, with multiple fields () or no fields (). is similar to ProductProfuctorI from the product-profunctor package, but using types from GHC.Generics.8'Get the index in the lists returned by create and createA' of the constructor of the given value.+For example, this is the implementation of put@ that generates the binary data that the above implentation of get expects: put t = putWord8 (Ž (8 t)) <> gfoldMap @Binary put t n  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm:  !"#$%&'()*+,-./0123456789n*)('&%$#"! ml+,-kjihgfedc./01ba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCB A@?>=234567 89<;:c   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm BSD-style (see the file LICENSE)sjoerd@w3future.com experimental non-portable Trustworthy *:DORTfnQCreate a value (one for each constructor), given how to construct the components.  =  ‘ n @’ [] “ = ” ‘ n @’ [“] n is o specialized to lists.onCreate a value (one for each constructor), given how to construct the components, under an applicative effect.Here's how to implement get from the binary4 package, first encoding the constructor in a byte: get = getWord8 • \ix -> – (o @Binary (— [get])) ˜ ™ ix o is 6 specialized to š.p(Generate ways to consume values of type t'. This is the contravariant version of o.p is 6 specialized to ›.qq is r specialized to lists.rr is 7 specialized to š.svCreate a value, given a constructor (or a function) and how to construct its components, under an applicative effect.+For example, this is the implementation of 9 for a type with a single constructor (e.g., quadruples (,,,)).  arbitrary = s @ Arbitrary arbitrary (,,,) tt is 7 specialized to ›.u.Map over a structure, updating each component.u is 6 specialized to (->).vGMap each component of a structure to a monoid, and combine the results.If you have a class SizeX, which measures the size of a structure, then this could be the default implementation: size = œ  getSum  v @Size (Sum  size) v is w specialized to ž.wsMap each component of a structure to an action, evaluate these actions from left to right, and collect the results.w is 6 specialized to Ÿ.x fmap = x @  ¡ x is 7 specialized to (->).y  foldMap = y @¢ £ y is z specialized to ž.z  traverse = z @¤ ¥ z is 7 specialized to Ÿ.{pCombine two values by combining each component of the structures to a monoid, and combine the results. Returns ¦! if the constructors don't match. § s t = § (8 s) (8 t) <> { @¨ § s t { is | specialized to — © (ž m)|€Combine two values by combining each component of the structures with the given function, under an applicative effect. Returns ª! if the constructors don't match.}  liftCompare = } @Ord1  liftCompare } is ~ specialized to — © (ž m)HImplement a nullary operator by calling the operator for each component. ¦ =  @« ¦ ¬ i =  @­ (¬ i)  is 2 specialized to ®.€wImplement a unary operator by calling the operator on the components. This is here for consistency, it is the same as 2. ¯ = € @­ ¯ FImplement a binary operator by calling the operator on the components. ° =  @« ° (±) =  @­ (±)  is ƒ specialized to pairs.‚„Create a value of a record type (with exactly one constructor), given how to construct the components, under an applicative effect.Here's how to implement get from the binary package: get = ‚ (For :: For Binary) get ‚ is 2 specialized to š.ƒCCreate an F-algebra, given an F-algebra for each of the components.  f l r = ƒ& @c (\(Pair a b) -> f a b) (Pair l r) ƒ is 2 specialized to ².„„ is 2 specialized to ³ (->).…… is 3 specialized to š.†  cotraverse = † @ Distributive  cotraverse † is 3 specialized to ².'´µ¶·¸nopqrstuvwxyz{|}~¹º€‚ƒ„…†»‡ˆ‰Š‹Œ8 23456789nopqrstuvwxyz{|}~€‚ƒ„…†8no8qr9suvwxyz{|}~pt€‚ƒ„…†246357  $´µ¶·¸nopqrstuvwxyz{|}~¹º€‚ƒ„…†»‡ˆ‰Š‹Œ»9 ¼      !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”“•–—˜™“š“›–œ˜žŸž –¡“¢£¤¥£¦§“¨˜©ª«¬­®˜¯˜°±²±³´µ´¶˜·¸¹º¸¹»˜¼˜½˜¾¿À¿ÁÂÃĿŘƿǬ­È£ÉÊËËÌÌÍÎÏÐÑ$one-liner-0.9-DOiApBcO6dI9PpdkKuMnEqGenerics.OneLiner.InternalGenerics.OneLinerTest.QuickCheck arbitraryFunConstraints autoApply FunResultAnyTypeADT1ADT ADTNonEmpty1 ADTNonEmpty ADTRecord1 ADTRecord Constraints1 ConstraintsCtorindexcountGenericProfunctorGenericNonEmptyProfunctorGenericRecordProfunctorGenericEmptyProfunctoridentityzeroGenericSumProfunctorplusGenericProductProfunctormultGenericUnitProfunctorunitADT_generic_|- SatisfiesRecordProfunctorNonEmptyProfunctor ADTProfunctor ADTRecord1' ADTNonEmpty1'ADT1' ADTRecord' ADTNonEmpty'ADT' Constraints'generic' nonEmpty1' generic1'absurde1fst1snd1recordrecord1nonEmpty nonEmpty1genericgeneric1 ctorIndex ctorIndex1$fFunConstraintscr$fFunConstraintsc(->) $fAnyTypeka$fGenericEmptyProfunctorCtor$fGenericSumProfunctorCtor$fGenericProductProfunctorCtor$fGenericUnitProfunctorCtor$fProfunctorCtor$fGenericEmptyProfunctorTannen$fGenericSumProfunctorTannen $fGenericProductProfunctorTannen$fGenericUnitProfunctorTannen$fGenericEmptyProfunctorProduct$fGenericSumProfunctorProduct!$fGenericProductProfunctorProduct$fGenericUnitProfunctorProduct$fGenericEmptyProfunctorClown$fGenericSumProfunctorClown$fGenericProductProfunctorClown$fGenericUnitProfunctorClown$fGenericEmptyProfunctorJoker$fGenericSumProfunctorJoker$fGenericProductProfunctorJoker$fGenericUnitProfunctorJoker$fGenericProductProfunctorBiff$fGenericUnitProfunctorBiff $fGenericProductProfunctorCostar$fGenericUnitProfunctorCostar$fGenericEmptyProfunctorStar$fGenericSumProfunctorStar$fGenericProductProfunctorStar$fGenericUnitProfunctorStar $fGenericProductProfunctorTagged$fGenericUnitProfunctorTagged$fGenericEmptyProfunctor(->)$fGenericSumProfunctor(->)$fGenericProductProfunctor(->)$fGenericUnitProfunctor(->)$fGenericProfunctorp$fGenericNonEmptyProfunctorp$fGenericRecordProfunctorp$fADT_nullaryIdentityksRec1$fADT_nullaryIdentityksPar1$fADT_nullaryIdentityks:.:$fADT_nullaryunaryksM1$fADT_IdentityunaryksK1$fADT_nullaryunaryks:*:$fADT_nullaryunaryks:+:$fADT_nullaryunaryksU1$fADT_nullaryunaryksV1$f|-:k$f|-:k0createcreateAconsumecreate1createA1createA_consume1gmapgfoldMap gtraversegmap1 gfoldMap1 gtraverse1mzipWithzipWithA mzipWith1 zipWithA1 nullaryOpunaryOpbinaryOpcreateA'algebra dialgebra createA1' gcotraverse1 $fFunctorPair$fGenericEmptyProfunctorZip$fGenericSumProfunctorZip$fGenericProductProfunctorZip$fGenericUnitProfunctorZip$fProfunctorZipbase GHC.GenericsGenericGHC.EnumtoEnumminBoundGHC.ListheadGHC.Base$BoundedmaxBoundlast>>=Data.Functor.Compose getComposeCompose!!fromEnum'bifunctors-5.4.2-FZrmj8WklPbIT4LBQhjbnYData.Bifunctor.JokerJokerData.Bifunctor.ClownClownsucc.Data.Functor.ConstConst&profunctors-5.2-AAT7kBFDpH16moquoojaoTData.Profunctor.TypesStarFunctorfmap Data.FoldableFoldablefoldMapData.Traversable Traversabletraversememptyghc-prim GHC.ClassescompareOrdMaybeemptyMonoidGHC.Num fromIntegerNum#tagged-0.8.5-HBjpONNM7bk4tkR2ik8YoD Data.TaggedTaggednegatemappend+CostarData.Bifunctor.BiffBiffPairZiprunZipinm2outm2.: