śĪbøYšK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJNone 3<DFQTVXM*A set of laws associated with a typeclass.+Name of the typeclass whose laws are testedPairs of law name and property¶A convenience function for working testing properties in GHCi. See the test suite of this library for an example of how to integrate multiple properties into larger test suite.VA convenience function for checking multiple typeclass instances of multiple types.Tests the following properties: Partial Isomorphismdecode . encode "a JustEncoding Equals Valuedecode . encode "a Just . toJSON9Note that in the second propertiy, the type of decode is ByteString -> Value, not ByteString -> aTests the following properties: Partial IsomorphismfromList . toList "a idLength Preservation&fromList xs "a fromListN (length xs) xsNote:2 This property test is only available when using base-4.7 or newer. Tests the following properties:  Associativea <> (b <> c) "a (a <> b) <> c Tests the following properties:  Transitivea == b "' b == c !Ņ a == c Symmetrica == b !Ņ b == a Reflexivea == aūSome of these properties involve implication. In the case that the left hand side of the implication arrow does not hold, we do not retry. Consequently, these properties only end up being useful when the data type has a small number of inhabitants. Tests the following properties:  Antisymmetry@a "d b "' b "d a !Ņ a = b  Transitivitya "d b "' b "d c !Ņ a "d cTotality a "d b "( a > b Tests the following properties:  Associative1mappend a (mappend b c) "a mappend (mappend a b) c Left Identitymappend mempty a "a aRight Identitymappend a mempty "a a Tests everything from  monoidProps plus the following:  Commutativemappend a b "a mappend b aTests the following properties: Quotient Remainder(quot x y) * y + (rem x y) "a xDivision Modulus(div x y) * y + (mod x y) "a xInteger RoundtripfromInteger (toInteger x) "a xTests the following properties: Conjunction Idempotence n .&. n "a nDisjunction Idempotence n .|. n "a nDouble Complementcomplement (complement n) "a nSet BitsetBit n i "a n .|. bit i Clear Bit'clearBit n i "a n .&. complement (bit i)Complement Bit!complementBit n i "a xor n (bit i) Clear ZeroclearBit zeroBits i "a zeroBitsSet ZerosetBit zeroBits i "a bit i Test ZerotestBit zeroBits i "a FalsePop ZeropopCount zeroBits "a 0Count Leading Zeros of Zero,countLeadingZeros zeroBits "a finiteBitSize "„Count Trailing Zeros of Zero-countTrailingZeros zeroBits "a finiteBitSize "„#All of the useful instances of the K typeclass also have LL instances, so these property tests actually require that instance as well.Note:2 This property test is only available when using base-4.7 or newer. Test that a M instance obey the several laws.'Tests the following functor properties: IdentityN O "a O Compositionfmap (f . g) "a N f . N gConst(<$) "a N P+Tests the following alternative properties: IdentityQ R x "a x x R Q "a x Associativitya R (b R c) "a (a R b) R c) +Tests the following applicative properties: IdentityS O T v "a v CompositionS (.) T u T v T w "a u T (v T w) HomomorphismS f T S x "a S (f x) Interchangeu T S y "a S (U y) T u LiftA2 (1)(T) "a V O#Tests the following alt properties:  Associativity(a W b) W c "a a W (b W c)Left Distributivity@f X (a W b) = (f X a) W (f X b)'Tests the following monadic properties:  Left IdentityY a Z k "a k aRight Identitym Z Y "a m Associativitym Z (\x -> k x Z h) "a (m Z k) Z hReturnS "a YAp(T) "a [Tests the following \ properties: foldfold "a ] OfoldMap] f "a ^ (_ . f) `foldr^ f z t "a appEndo (] (Endo . f) t ) zfoldr'foldr' f z0 xs = let f' k x z = k a f x z in b f' O xs z0foldr1c! f t "a let Just (xs,x) = unsnoc (d t) in ^ f x xsfoldlb f z t "a appEndo (getDual (] (Dual . Endo . e f) t)) zfoldl'foldl' f z0 xs "a let f' x k z = k a f z x in ^ f' O xs z0foldl1f f t "a let x : xs = d t in b f x xstoListg "a ^ (:) []nullh "a ^ (P (P i)) jlengthk "a getSum . foldMap (P (Sum 1))%Note that this checks to ensure that foldl' and foldr' are suitably strict.Tests the following l properties:  Naturalityt . m f = m (t . f)) for every applicative transformation tIdentitym Identity = Identity Compositionm (Compose . N g . f) = Compose . N (m g) . m fSequence Naturalityt . n = n . N t) for every applicative transformation tSequence Identityn . N Identity = IdentitySequence Compositionn . N Compose = Compose . N n . nfoldMap] = ofmapN = p Where an applicative transformation is a function 1t :: (Applicative f, Applicative g) => f a -> g apreserving the q operations, i.e. Identity: t (S x) = S xDistributivity: t (x T y) = t x T t yTests the following r properties: Identitys O O "a OFirst Identityt O "a OSecond Identityu O "a OBifunctor Compositions f g "a t f . u g NoteH: This property test is only available when this package is built with  base-4.9+ or transformers-0.5+./Element is type name paired with typeclass lawsvdestination pointer source arrayoffset into source arraynumber of prims to copywdestination arrayoffset into destination array source arrayoffset into source arraynumber of bytes to copyxdestination arrayoffset into destination array source arrayoffset into source arraynumber of bytes to copy    yz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNLMOPQRLSTLSULSVLSWLSXLSYLSZLS[LS\]^_L`aLSbLScLSdLefLegLehLSiLSjLSkLelLemLnoLSpLeqLeoLerstustvLewLxyLxzLx{Lx|Lx}LS~L€LL‚Lƒ„…†‡‡ˆˆ‰‰ŠŠ‹‹ŒŒŽ‘’’“”•–——˜˜™™šš››œžŸ /quickcheck-classes-0.4.3-A1lMXXpB9rE1z2DhPMSd4LTest.QuickCheck.ClassesLaws lawsTypeclasslawsProperties lawsCheck lawsCheckManyjsonLaws isListLaws showReadLaws semigroupLawseqLawsordLaws monoidLawscommutativeMonoidLaws integralLawsbitsLawsprimLaws storableLaws functorLawsalternativeLawsapplicativeLawsaltLaws monadLaws foldableLawstraversableLaws bifunctorLaws$fMonoidStatus$fSemigroupStatus $fMonoidAp $fSemigroupAp$fTraversableTriple$fFoldableTriple$fApplicativeTriple$fFunctorTriple$fArbitraryTriple$fArbitrary1Triple $fShow1Triple $fEq1Triple$fArbitraryChooseSecond$fShowChooseSecond$fArbitraryChooseFirst$fShowChooseFirst$fArbitraryLastNothing$fShowLastNothing$fArbitraryBottom $fShowBottom$fArbitraryApply $fShowApply $fMonoidApply$fSemigroupApply $fEqApply$fArbitraryApply2 $fShowApply2 $fEqApply2$fArbitraryLinearEquation$fShowLinearEquation$fArbitraryLinearEquationM$fShowLinearEquationM$fEqLinearEquationM$fArbitraryEquation$fShowEquation$fArbitraryEquationTwo$fShowEquationTwo$fArbitraryBitIndex$fIsListPrimArray $fEqPrimArray $fShowTriple $fEqTriple$fEqChooseSecond$fEqChooseFirst$fEqLastNothing $fEqBottom$fEqLinearEquation $fEqEquation$fEqEquationTwobase Data.BitsBits FiniteBits(primitive-0.6.2.0-EI3NK1Xfv9zEcRtyXK2EwZData.Primitive.TypesPrimGHC.Basefmapidconstempty<|>pure<*>$liftA2*semigroupoids-5.2.2-6wLNc1S5ZTGCpPjHI0RDf4Data.Functor.Alt Data.Functor<$>return>>=ap Data.FoldableFoldablefoldMapfoldrmappendmempty$!foldlfoldr1GHC.ExtstoListflipfoldl1nullghc-prim GHC.TypesFalseTruelengthData.Traversable Traversabletraverse sequenceAfoldMapDefault fmapDefault ApplicativeData.Bifunctor BifunctorbimapfirstsecondcopyPrimArrayToPtrcopyMutablePrimArray copyPrimArrayMutablePrimArray PrimArrayBitIndex EquationTwoEquationLinearEquationMLinearEquation_linearEquationLinear_linearEquationConstantApply2 getApply2ApplygetApplyBottomBottomUndefined BottomValue LastNothing ChooseFirst ChooseSecondTripleApgetApStatusBadGood