8$f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`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 { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde0non-portable (MPTCs and functional dependencies)internal (non-stable)robdockins AT fastmail DOT fm O(1). The empty sequence. O(1). A singleton sequence. O(n)4. Create a sequence from a finite list of elements. O(1)0. Add an element to the left end of a sequence. O(1)1. Add an element to the right end of a sequence. O(1). Is this the empty sequence? O(1)&. Analyse the left end of a sequence. O(1)'. Analyse the right end of a sequence. O(log(min(n1,n2))). Concatenate two sequences. O(log(min(i,n-i)))2. Split a sequence at a point where the predicate ) on the accumulated measure changes from f to g. O(n). The reverse of a sequence. Finger trees with element type a", annotated with measures of type v. ' The operations enforce the constraint h v a.    GHC, Hugs (MPTC and FD)internal (unstable)robdockins AT fastmail DOT fm[ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst[ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstGHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmLuvwxyz{|}~Lvwxy{|~}zuGHC / Hugs (MPTC and FD)internal (unstable)robdockins AT fastmail DOT fm-ij+GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fm9      !"#$9$ ! "    #GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fm9%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]9]'(T)U*V+,W-./0R&1X23Y456789S:;<Z[=>?@ABCDEFGHIJKLMNOP\Q%GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fm9^_`abcdefghijklmnopqrstuvwxyz{|}~9`abcdefghi_jklmnopqrstuvwxyz{|}~^GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fm99 GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmF     F      GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmO(1). Is this the empty set? O(1)%. The number of elements in the set. O(1). Is the element in the set? O(1). The empty set.  O(1). Create a singleton set. !O(1). Insert an element in a set. B If the set already contains an element equal to the given value, $ it is replaced with the new value. #O(1) . Delete an element from a set. &O(1)9. Is this a proper subset? (ie. a subset but not equal). 'O(1). Is this a subset?  (s1 '  s2) tells whether s1 is a subset of s2. (O(1) . The minimal element of a set. )O(1) . The maximal element of a set. *O(1). Delete the minimal element. +O(1). Delete the maximal element. 9The union of a list of sets: (unions == S  :   ). :O(1). The union of two sets. ?O(1). Difference of two sets. AO(1) . The intersection of two sets. CO(1)1. The complement of a set with its universe set.  complement can be used 1 with bounded types for which the universe set " will be automatically created. DO(n)2. Filter all elements that satisfy the predicate. EO(n)F. Partition the set into two sets, one with all elements that satisfy 1 the predicate and one with all elements that don't satisfy the predicate.  See also split. FO(n).  F  f s! is the set obtained by applying f to each element of s. It'>s worth noting that the size of the result may be smaller if,  for some (x,y), x /= y && f x == f y HO(1)> Changes the type of the elements in the set without changing & the representation. Equivalant to map (toEnum . fromEnum), and  to (fromBits . toBits)). This method is operationally a no-op. IO(1)0 Get the underlying bit-encoded representation. ) This method is operationally a no-op. JO(1)6 Create an EnumSet from a bit-encoded representation. ) This method is operationally a no-op. _A set of values a, implemented as bitwise operations. Useful F for members of class Enum with no more elements than there are bits  in Word. J !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_J_ W!X:9#$%]*+./102345678A?@&'ZKLMNDE^,(-)OPSTQRUV[G\"Y;<=>BFHCIJ GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmF`abcdefghijklmnopqrstuvwxyz{|}~Fbcefghaijklmnopqrstuvwxyz{|}~d` GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fm;; GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmL      !"#$%&'()*+,L,      !"#$%&'()*+GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmL-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxLx./01234689;57:<=>X?Y@ABZ[\]^_`abcdefghijklCDEFGHIJmnopKLqrstuvwMNOPQRSTUVW-GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmJyz{|}~J{|}~zyGHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmJ    J    GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXLX89:;<=> !"#$%&'()*?@ABCDE+,-./0FGHIJK1LOMNPQRSTUV234567W GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmLYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~LZ[\|}^_a~c`bdefghijklmnopqr]stuvwxyz{YGHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmOOGHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmL      !"#$%&'()*+,-./0123456789:;<=>?L?      !"#$%&'()*+-,./0123456789:;<=>GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmO@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ODEFGHIJLNOQKMPRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvxwyz{|}~@ABCGHC, Hugs (MPTC and FD)internal (unstable)robdockins AT fastmail DOT fm77GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmh      !"#$%&'()*+,-h-      !"#$%&'()*+,GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmf./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~f0123456789:;<=^_>?@ABCDEFG/WXYZ[HIJKLMNOPQRSTUV\]`dfgbhiklmnopqrsxyz{|}~aecjtuvw.GHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmhhGHC, Hugs (MPTC and FD)stablerobdockins AT fastmail DOT fmj      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeje     ./'(+,-dDEFGHIJ0123456789:;<=?>@ABCKLMNPRSTVXY#%)"$&*Z[\]^_`abOQUW !ck !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~()+0.- #$%&,/5*"_a()-      %&()-      %&()-      %&()-      %&  ( )    - %   &                           !  " -  ( )                         ! #  $ % &       % & "  ( )  -               % &                  ! "  ' ( ( )    -                  % & )  ( ) + , 0 . / - 5 * " % & # $ ()+,0./- 5*"%&#$-()+,0*"5 %&./#$()+,0./- 5"%&*#$()+./- %&,05*"#$()+.- #$%&,0/5*"*()+,0./- 5*"#$%&+()+,0./- 5*"%&#$*()+,0./- 5*"#$%&,-./01a23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY()- Z[\]^_`abcdefgh    ijklmnop%&qr s!tuvwxyz{|}()- Z[\_`!tuvwxydefghz|%& i k j lmnop]sqr^ c{}()- Z[\^_`ab%&]    sqr !tuvwxycdefghijklmnopz{|}~()- Z[\^_`abmonp]%&sqr !utvwxycdefghz{| i j k l}EdisonCore-1.2.1.1Data.Edison.Concrete.FingerTreeData.Edison.Seq.DefaultsData.Edison.Seq.BinaryRandListData.Edison.Coll.Defaults Data.Edison.Coll.LazyPairingHeapData.Edison.Coll.LeftistHeapData.Edison.Coll.SkewHeapData.Edison.Coll.SplayHeapData.Edison.Coll.StandardSetData.Edison.Coll.EnumSetData.Edison.Coll.UnbalancedSetData.Edison.Coll.MinHeapData.Edison.Seq.BankersQueueData.Edison.Seq.BraunSeqData.Edison.Seq.FingerSeqData.Edison.Seq.JoinListData.Edison.Seq.MyersStackData.Edison.Seq.RandListData.Edison.Seq.RevSeqData.Edison.Seq.SimpleQueueData.Edison.Seq.SizedSeqData.Edison.Assoc.DefaultsData.Edison.Assoc.AssocListData.Edison.Assoc.PatriciaLoMapData.Edison.Assoc.StandardMapData.Edison.Assoc.TernaryTriebase Data.BoolEdisonAPI-1.2.1Data.Edison.PreludestructuralInvariantsizefoldFTtoListreduce1reduce1'strict strictWithmapTreeempty singletonfromListlconsrconsnulllviewrviewappendsplit takeUntil dropUntil splitTreereverseSplit FingerTreerconsUsingAppendrconsUsingFoldrappendUsingFoldr rviewDefaultrtailUsingLviewrtailMUsingLviewconcatUsingFoldrreverseUsingReverseOntoreverseUsingListsreverseOntoUsingFoldlreverseOntoUsingReversefromListUsingConstoListUsingFoldr mapUsingFoldrconcatMapUsingFoldrfoldrUsingListsfoldr'UsingListsfoldlUsingListsfoldl'UsingListsfoldr1UsingListsfoldr1'UsingListsfoldl1UsingListsfoldl1'UsingListsfold1UsingFoldfold1'UsingFold'foldr1UsingLviewfoldr1'UsingLviewfoldl1UsingFoldlfoldl1'UsingFoldl'reducerUsingReduce1reducer'UsingReduce1'reducelUsingReduce1reducel'UsingReduce1'reduce1UsingListsreduce1'UsingListscopyUsingListsinBoundsUsingDropinBoundsUsingLookupMinBoundsUsingSizelookupUsingLookupMlookupUsingDroplookupWithDefaultUsingLookupMlookupWithDefaultUsingDroplookupMUsingDropfilterUsingLviewfilterUsingListsfilterUsingFoldrpartitionUsingListspartitionUsingFoldrupdateUsingAdjustupdateUsingSplitAtadjustUsingListsadjustUsingSplitAtmapWithIndexUsingListsfoldrWithIndexUsingListsfoldrWithIndex'UsingListsfoldlWithIndexUsingListsfoldlWithIndex'UsingListstakeUsingListstakeUsingLviewdropUsingListsdropUsingLtailsplitAtDefaultsplitAtUsingLview subseqDefaulttakeWhileUsingLviewdropWhileUsingLviewsplitWhileUsingLview zipUsingLviewzip3UsingLviewzipWithUsingLviewzipWith3UsingLview zipUsingListszip3UsingListszipWithUsingListszipWith3UsingListsunzipUsingListsunzipUsingFoldrunzip3UsingListsunzip3UsingFoldrunzipWithUsingListsunzipWithUsingFoldrunzipWith3UsingListsunzipWith3UsingFoldrshowsPrecUsingToListreadsPrecUsingFromListdefaultCompare dropMatch tokenMatch readSParens maybeParens moduleNamecopylheadlheadMltailltailMrheadrheadMmapfoldfold'fold1fold1'foldrfoldr'foldlfoldl'inBoundslookuplookupMlookupWithDefaultadjusttakedroprtailrtailMconcat reverseOnto concatMapfoldr1foldr1'foldl1foldl1'reducerreducelreducer'reducel'update mapWithIndexfoldrWithIndexfoldlWithIndexfoldrWithIndex'foldlWithIndex'splitAtfilter partitionsubseq takeWhile dropWhile splitWhilezipzip3zipWithzipWith3unzipunzip3 unzipWith unzipWith3SeqinsertSeqUsingUnioninsertSeqUsingFoldrmemberUsingFoldcountUsingMemberlookupAllUsingLookupMdeleteSeqUsingDeleteunionSeqUsingFoldlunionSeqUsingFoldl'unionSeqUsingReducefromSeqUsingFoldrfromSeqUsingUnionSeqtoSeqUsingFold unsafeInsertMaxUsingUnsafeAppendtoOrdSeqUsingFoldr$unsafeFromOrdSeqUsingUnsafeInsertMindisjointUsingToOrdListintersectWitnessUsingToOrdListlookupUsingLookupAlllookupMUsingLookupAlllookupWithDefaultUsingLookupAlldeleteMaxUsingMaxViewfromSeqWithUsingInsertWithinsertUsingInsertWithunionUsingUnionWithfilterUsingOrdListspartitionUsingOrdLists!intersectionUsingIntersectionWithdifferenceUsingOrdLists"symmetricDifferenceUsingDifferenceproperSubsetUsingOrdListssubsetUsingOrdListsinsertSeqWithUsingInsertWithunionlUsingUnionWithunionrUsingUnionWithunionWithUsingOrdListsunionSeqWithUsingReducerintersectionWithUsingOrdListsunsafeMapMonotonicUsingFoldrcompareUsingToOrdListinsertuniondelete deleteAll deleteSeqmembercount deleteMinunsafeInsertMinunsafeInsertMax unsafeAppendfilterLTfilterLEfilterGTfilterGEpartitionLT_GEpartitionLE_GTpartitionLT_GTtoSeq lookupAllminViewminElemmaxViewmaxElemunsafeMapMonotonicfromSeq insertSequnionSequnsafeFromOrdSeq deleteMaxtoOrdSeqHeap intersection differencesymmetricDifference properSubsetsubset fromSeqWith insertWith insertSeqWithunionlunionr unionWith unionSeqWithintersectionWithSet complement setCoercetoBitsfromBitsfromColltoCollMin instanceNameRevSizedsingletonUsingInsertfromSeqUsingInsertSeqdeleteSeqUsingFoldrmemberUsingLookupMsizeUsingElementspartitionUsingFilterfold1UsingElementselementsUsingFoldnullUsingElementsinsertWithUsingLookupMfromSeqWithUsingInsertSeqWith#fromSeqWithKeyUsingInsertSeqWithKeyinsertWithKeyUsingInsertWith"insertSeqWithKeyUsingInsertWithKeyunionSeqWithUsingReduceunionSeqWithUsingFoldrtoSeqUsingFoldWithKeykeysUsingFoldWithKeyunionWithUsingInsertWithunionWithKeyUsingInsertWithKeyunionSeqWithKeyUsingReduceunionSeqWithKeyUsingFoldrintersectionWithUsingLookupMintersectionWithKeyUsingLookupMdifferenceUsingDeleteproperSubsetUsingSubsetsubsetUsingMembersubmapByUsingLookupMproperSubmapByUsingSubmapBysameMapByUsingOrdListssameMapByUsingSubmapBylookupAndDeleteDefaultlookupAndDeleteMDefaultlookupAndDeleteAllDefaultadjustOrInsertUsingMemberadjustOrDeleteDefaultadjustOrDeleteAllDefaultminElemUsingMinViewdeleteMinUsingMinView!minElemWithKeyUsingMinViewWithKeymaxElemUsingMaxView!maxElemWithKeyUsingMaxViewWithKeytoOrdSeqUsingFoldrWithKeyshowsPrecUsingToOrdListreadsPrecUsingUnsafeFromOrdSeqlookupAndDeletelookupAndDeleteMlookupAndDeleteAllelements adjustAlladjustOrInsertadjustAllOrInsertadjustOrDeleteadjustOrDeleteAllkeys mapWithKey foldWithKey foldWithKey' filterWithKeypartitionWithKeyminViewWithKeyminElemWithKeymaxViewWithKeymaxElemWithKey foldrWithKey foldrWithKey' foldlWithKey foldlWithKey' insertWithKeyinsertSeqWithKeyfromSeqWithKeyproperSubmapBysubmapBy sameMapBy properSubmapsubmapsameMap unionWithKeyunionSeqWithKeyintersectionWithKeyFMmergeVFM mergeKVFMGHC.BaseFalseTrueMeasuredproperSubsetOnOrdListssubsetOnOrdLists