h$/%      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE F G H I J K L M N O P Q R S T (c) Andrey Mulik 2020 BSD-stylework.a.mulik@gmail.comnon-portable (GHC extensions) Safe-InferredUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.comportable Safe-Inferred sdp-quickcheckTestEq is service type synonym for more comfortable quickCheck using. sdp-quickcheckeqTest is basic test suite for  instances.  (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules) Safe-Inferred sdp-quickcheckTestEstimate is service type synonym for more comfortable quickCheck using.sdp-quickcheck is basic test suite for  instances.  (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules)None? Qsdp-quickcheckLong is newtype of large data structures (>= 1024) in QuickCheck properties. Since Large can generate really huge numbers, the maximum length is limited by 16384 - [1024, 16384).Long is primarily intended for benchmarks, although a large range of lengths makes them not very convenient for a pure comparison of several algorithms (but for this can be used vector[Of] and generate). Long works well with Unrolled and ByteList, since only the shortest of the allowed structures may fit in one standard chunk (1024 elements).sdp-quickcheckMedium is newtype of medium data structures in QuickCheck properties. The Arbitrary Medium instance must create a random-sized structure from the range [100, 1024).Medium is useful in testing as a compromise between speed and reliability: structures are too short for stress tests, but still human readable and enough fast for auto-testing.sdp-quickcheckShort is newtype of short data structures [0, 100) in QuickCheck properties.Short is the equivalent of the standard Arbitrary definition: "arbitrary = fromList <$> arbitrary.sdp-quickcheck is overloaded .sdp-quickcheck is version of , which generates  s.sdp-quickcheck returns a simple comparator that can be used to test the behavior of higher-order functions (for example, when comparing the results of  takeWhile for different structures).  (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules) Safe-Inferred? 'sdp-quickcheckTestIndex is service type synonym for more comfortable quickCheck using.(sdp-quickcheck(? is service type synonym for more comfortable quickCheck using.)sdp-quickcheck) r sh is default  test, where r3 is expected rank for this shape type. Note that ) also checks   case, to make sure  is correct.*sdp-quickcheck* checks relations of , ,  and .+sdp-quickcheck+ checks relations of  and .,sdp-quickcheck, checks relations of  and .-sdp-quickcheck- checks relations of  and other range functions..sdp-quickcheck. is O(n) (may be very long) test, that checks relation of range  and  length./sdp-quickcheck/ checks relations of ,  and .0sdp-quickcheck0 is complex test, that includes all other tests. May crash with very big numbers (Word64, Integer) because the tested functions are limited by size of type Int. In practice, structures of such sizes would take more memory than the address space of computers can accommodate. '()*+,-./0 ()'0/-*+,.(c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules) Safe-Inferred1sdp-quickcheckTestIndexed2 is service type synonym for more comfortable quickCheck using.2sdp-quickcheckTestIndexed1 is service type synonym for more comfortable quickCheck using.3sdp-quickcheckTestIndexed is service type synonym for more comfortable quickCheck using.4sdp-quickcheck4 checks relations of ,  and .5sdp-quickcheck5 checks relations of , , (), ( ) and ().6sdp-quickcheck6 checks relations of , (), () and ().7sdp-quickcheck70 is complex test, that includes all other tests.12345673217456(c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules) Safe-Inferredy 8sdp-quickcheck8? is service type synonym for more comfortable quickCheck using.9sdp-quickcheck9? is service type synonym for more comfortable quickCheck using.:sdp-quickcheck:? is service type synonym for more comfortable quickCheck using.;sdp-quickcheck; checks relations of , ,  and .<sdp-quickcheck< checks relations of , , ,  and .=sdp-quickcheck= checks relations of ,  and .>sdp-quickcheck> checks rules of ,  and .?sdp-quickcheck? checks rules of .@sdp-quickcheck@ checks rules of () and .Asdp-quickcheckA/ is complex test, that includes all ther tests. 89:;<=>?@A :98A<=;?>@(c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.comportable Safe-InferredBsdp-quickcheckTestOrd is service type synonym for more comfortable quickCheck using.Csdp-quickcheck ordTest is basic test suite for  instances.Dsdp-quickchecklexicographicOrdTest checks $ structures for lexicographic order.BCDBCD (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com,non-portable (requires non-portable modules) Safe-Inferred  Esdp-quickcheckTestSet1 is service type synonym for more comfortable quickCheck using.Fsdp-quickcheckTestSet is service type synonym for more comfortable quickCheck using.Gsdp-quickcheckG checks relations of , () and ()). Note that basicSetTest requires any ( s o) => s1, not necessarily a set (may contain any data).Hsdp-quickcheckH checks rules of  and . Note that H requires a set, not any ( s o) => s.Isdp-quickcheckI checks the laws of union () and intersection ()). Note that unintSetTest requires any ( s o) => s1, not necessarily a set (may contain any data).Jsdp-quickcheckJ checks laws of difference () and symmetric difference (1). Note that diffSetTest requires a set, not any ( s o) => sKsdp-quickcheckK checks relations of  and '. Note that elemSetTest requires any ( s o) => s1, not necessarily a set (may contain any data).Lsdp-quickcheckL checks relations of , ,  and 2. Note that lookupSetTest requires a set, not any ( s o) => s.Msdp-quickcheckM is complex test, that includes all other tests. Note that setTest requires any ( s o) => s1, not necessarily a set (may contain any data). EFGHIJKLM FEMGHLIJK (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com-non-portable (requires non-portable modules).None!Nsdp-quickcheckN is just  sorted . sort7 synonym. Please note that for default definition of  Arbitrary generates very short structures and this isn't enough for verification (if the length of the structure is less than 65, then TimSort uses InsertionSort). NN (c) Andrey Mulik 2021 BSD-stylework.a.mulik@gmail.comportable Safe-Inferred$Osdp-quickcheckO? is service type synonym for more comfortable quickCheck using.Psdp-quickcheckP? is service type synonym for more comfortable quickCheck using.Qsdp-quickcheckQ? is service type synonym for more comfortable quickCheck using.Rsdp-quickcheckR f n xs is default  test, where f7 is arbitrary predicate (e.g. "Test.SDP.Gen.orderA").Ssdp-quickcheckS checks , , , ,  and  correctness and relations.Tsdp-quickcheckT checks , , , , , ,  and  correctness and relations.OPQRSTQPORST (c) Andrey Mulik 2019 BSD-stylework.a.mulik@gmail.com+non-portable (imports non-portable modules)None%V1 123456789:;<=>?@ABCDEFGHIJKLMNOPQRST       !!""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S T U V W X Y Z [ \ ] ^ _ ` a bcdecdfcdgcdhcijcikcilcimcinciocipcqrcqscqtcqucqvcqwcqxcqycqzcq{cq|cq|cq}cq~cqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqcqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc                                                                      )sdp-quickcheck-0.2-6FsHbtHYiqq26DogdbjYEpTest.SDP.Arbitrary Test.SDP.EqTest.SDP.Estimate Test.SDP.GenTest.SDP.IndexTest.SDP.IndexedTest.SDP.Linear Test.SDP.Ord Test.SDP.Set Test.SDP.SortTest.SDP.SplitTest.SDPsdp-0.2-AH2T5KX1xmG8Wo3slp7kFTSDP.Templates.AnyBorder AnyBorderSDP.Templates.AnyChunks AnyChunksSDP.Prim.SArraySArray#SDP.Prim.SBytesSBytes#$fArbitraryAnyBorder$fArbitraryAnyChunks$fArbitrarySBytes#$fArbitrarySArray# $fArbitrary:& $fArbitraryETestEqeqTest TestEstimate estimateTestLongMediumShortlinearA linearLargeAorderA$fArbitraryShort$fArbitraryMedium$fArbitraryLong$fEqLong $fOrdLong $fReadLong $fShowLong $fEqMedium $fOrdMedium $fReadMedium $fShowMedium $fEqShort $fOrdShort $fReadShort $fShowShort TestIndex TestShape shapeTest rangeTestprevTestnextTest inBoundsTest dumbSizeTestbasicIndexTest indexTest TestIndexed2 TestIndexed1 TestIndexedbasicIndexedTestassocIndexedTestreadIndexedTest indexedTest TestLinear2 TestLinear1 TestLinearbasicLinearTestdeconstructionLinearTestconstructionLinearTest reverseTest replicateTest concatTest linearTestTestOrdordTestlexicographicOrdTestTestSet1TestSet basicSetTest insdelSetTest unintSetTest diffSetTest elemSetTest lookupSetTestsetTestsortTest TestSplit2 TestSplit1 TestSplit splitTestbasicSplitTestwhileSplitTest(QuickCheck-2.14.2-9AhRAvZYUVyKu9RkvnejmbTest.QuickCheck.FeatureslabelledExamplesWithResultlabelledExamplesResultlabelledExamplesWithlabelledExamplesTest.QuickCheck.AllverboseCheckAll quickCheckAll allPropertiesforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgs isSuccessArgs maxShrinkschattymaxSizemaxDiscardRatioreplay maxSuccessResultNoExpectedFailureFailureSuccessGaveUpfailingClasses failingLabelsfailingTestCase theExceptionreasonusedSizeusedSeednumShrinkFinalnumShrinkTries numShrinksoutputtablesclasseslabelsnumTests numDiscardedTest.QuickCheck.Propertytotal=/====disjoin.||.conjoin.&&..&.forAllShrinkBlindforAllShrinkShow forAllShrink forAllBlind forAllShowforAllwithin==> coverTabletabulatecoverclassifycollectlabel stdConfidencecheckCoverageWith checkCoveragewithMaxSuccessagainonce expectFailureverboseShrinkingverbose whenFail'whenFail printTestCasecounterexample noShrinking shrinkingmapSizeidempotentIOProperty ioPropertyPropertyTestablepropertypropertyForAllShrinkShowDiscardTest.QuickCheck.State Confidence certainty toleranceTest.QuickCheck.Function applyFun3 applyFun2applyFun functionMap functionVoid functionShowfunctionIntegralfunctionRealFracfunctionBoundedEnumFnFn2Fn3FunctionfunctionFunTest.QuickCheck.ModifiersBlindgetBlindFixedgetFixed OrderedListOrdered getOrdered NonEmptyListNonEmpty getNonEmpty InfiniteListgetInfiniteListinfiniteListInternalData SortedListSorted getSortedPositive getPositiveNegative getNegativeNonZero getNonZero NonNegativegetNonNegative NonPositivegetNonPositiveLargegetLargeSmallgetSmallShrink2 getShrink2Smart Shrinking ShrinkState shrinkInit shrinkState ASCIIStringgetASCIIString UnicodeStringgetUnicodeStringPrintableStringgetPrintableStringTest.QuickCheck.Arbitrary infiniteList orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegral><genericCoarbitrary shrinkDecimalshrinkRealFracshrinkIntegral shrinkMapBy shrinkMap shrinkNothingarbitraryPrintableChararbitraryASCIIChararbitraryUnicodeChararbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedNaturalarbitrarySizedIntegralapplyArbitrary4applyArbitrary3applyArbitrary2 shrinkListsubtermsrecursivelyShrink genericShrinkshrink2 arbitrary2shrink1 arbitrary1 Arbitrary arbitraryshrink Arbitrary1 liftArbitrary liftShrink Arbitrary2liftArbitrary2 liftShrink2 CoArbitrary coarbitraryTest.QuickCheck.GeninfiniteListOfvectorOflistOf1listOfgrowingElementsshuffle sublistOfelements frequencyoneof suchThatMaybe suchThatMapsuchThatsamplesample'generate chooseIntegerchooseBoundedIntegral chooseInt chooseEnum chooseAnychoosescaleresizegetSizesizedvariantGenTest.QuickCheck.Exceptiondiscardghc-prim GHC.ClassesEq SDP.EstimateEstimate GHC.TypesInt SDP.ShapeShaperankbaseGHC.Err undefined SDP.IndexinRange isOverflow isUnderflowisEmptyprevrangenextinBoundssizesizes SDP.NullableisNullsafeElem SDP.IndexedassocSDP.Mapassocs.$*$// SDP.LinearlistL.!!!?lzerosinglefromListheadlastinittailtoHeadtoLastreverselistR replicate++concatOrdLinearSDP.Setset/?\\?/Setinsertdelete\//\\\\^/member isSubseqOflookupLTlookupGTlookupLElookupGESplittakedropsanskeepsplitdivide takeWhile dropWhiletakeEnddropEndspanlspanrbreaklbreakr