Îõ³h%\ÛXÍ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊË̶Weak sets are sets of objects which do not have to be orderable. They are homogeneous, they can only contain a single type of object. They are more flexible than Data.Set but slower.Guillaume Sabbagh 2022LGPL-3.0-or-laterguillaumesabbagh@protonmail.com experimentalportable Safe-Inferred‚;WeakSetsîA weak set is a list of values such that the duplicate elements and the order of the elements are disregarded. To force these constraints, the î constructor is abstract and is not exported. The only way to construct a set is to use the smart constructor  or ' which ensures the previous conditions.WeakSetsÂAlias of mempty. Defined for backward compatibility with Data.Set.WeakSetsÀAlias of pure. Defined for backward compatibility with Data.Set.WeakSetsO(1)É. The smart constructor of sets. This is the only way of instantiating a  with . We prefer the smart constructor > because its name does not collide with other data structures.WeakSetsO(1)Ó. This smart constructor is provided to allow backward compatibility with Data.Set.WeakSetsO(1)3. Defined for backward compatibility with Data.Set.WeakSetsO(1)3. Defined for backward compatibility with Data.Set.WeakSetsO(1)3. Defined for backward compatibility with Data.Set.WeakSetsO(1)3. Defined for backward compatibility with Data.Set. WeakSets-Return the set of all subsets of a given set. Example : ÿ ghci> powerSet $ set [1,2,3] (set [(set []),(set [1]),(set [2]),(set [1,2]),(set [3]),(set [1,3]),(set [2,3]),(set [1,2,3])]) WeakSets…O(1). Insert an element in a set. If the set already contains an element equal to the given value, it is replaced with the new value. WeakSets#O(n). Delete an element from a set. WeakSetsO(n). (alterF f x s)Ñ can delete or insert x in s depending on whether an equal element is found in s.ÕNote that unlike insert, alterF will not replace an element equal to the given value. WeakSetsO(n)'. Return wether an element is in a set.WeakSetsO(n) . Alias of  3. Defined for backward compatibility with Data.Set.WeakSetsO(n). Negation of 3. Defined for backward compatibility with Data.Set.WeakSetsO(n^2). Size of a set.WeakSetsO(n). Size of a set.WeakSetsO(n^2)#. Return a boolean indicating if a  is included in another one.WeakSetsO(n^2)#. Return a boolean indicating if a  is included in another one.WeakSetsO(n^2)Í. x is a proper subset of y if x is included in y and x is different from y. WeakSetsO(n^2)Ê. Check whether two sets are disjoint (i.e., their intersection is empty).WeakSetsO(n)Ö. The union of two sets, preferring the first set when equal elements are encountered.WeakSets.The union of the sets in a Foldable structure.WeakSetsO(n*m). Difference of two sets.WeakSetsSee difference.WeakSetsO(m*n)Ö. Return the intersection of two sets. Elements of the result come from the first set.WeakSetsO(m*n)+. Return the cartesian product of two sets.WeakSetsO(n)(. Return the disjoint union of two sets.WeakSets5O(n). Filter all elements that satisfy the predicate.WeakSetsO(n). Partition the set into two sets, one with all elements that satisfy the predicate and one with all elements that don't satisfy the predicate. See also split.WeakSetsµO(n^2). Lookup the index of an element, which is its zero-based index in the sorted sequence of elements. The index is a number from 0 up to, but not including, the size of the set. WeakSetsîO(n^2). Return the index of an element, which is its zero-based index in the sorted sequence of elements. The index is a number from 0 up to, but not including, the size of the set. Calls error when the element is not a member of the set.!WeakSets¿O(n^2). Retrieve an element by its index, i.e. by its zero-based index in the sorted sequence of elements. If the index is out of range (less than zero, greater or equal to size of the set), Í is called."WeakSetsÉO(n). Delete the element at index, i.e. by its zero-based index in the sorted sequence of elements. If the index is out of range (less than zero, greater or equal to size of the set), error is called. #WeakSets1O(n^2). Take a given number of elements in order.$WeakSets1O(n^2). Drop a given number of elements in order.%WeakSets*O(n^2). Split a set at a particular index.&WeakSetsO(n) . Alias of ÎÌ for backward compatibility with Data.Set. Note that a WeakSet is a functor.'WeakSetsO(n) . Alias of Î* for backward compatibility with Data.Set.(WeakSets Strict foldr.)WeakSets Strict foldl.*WeakSetsO(n^2). Transform a ì back into a list, the list returned does not have duplicate elements, the order of the original list holds.+WeakSetsO(n^2) . Alias of ** for backward compatibility with Data.Set.,WeakSetsO(1). Set version of listToMaybe.-WeakSetsO(1). Set version of maybeToList..WeakSetsO(n)Ñ. Set version of catMaybes. Only keeps the Just values of a set and extract them./WeakSetsO(n)×. Set version of mapMaybe. A map which throws out elements which are mapped to nothing.0WeakSetsO(n)=. Map a function to a set and separate Left and Right values.1WeakSetsO(n)î. Map a function to a set, return a couple composed of the set of left elements and the set of right elements.2WeakSetsO(n^2)À. Remove duplicates in the set using your own equality function.3WeakSets Alias of .4WeakSets Alias of .5WeakSets Alias of .6WeakSets Alias of .7WeakSets;Returns the cartesian product of a set with itself n times.8WeakSets Alias of .9WeakSetsÁSet is not a Traversable because of the Eq typeclass requirement.:WeakSetsÁSet is not a Traversable because of the Eq typeclass requirement.;  !"#$%&'()*+,-./0123456789:; 345687  !"#$%&'()*+2,-./109:Non-clashing functions for s.Guillaume Sabbagh 2022LGPL-3.0-or-laterguillaumesabbagh@protonmail.com experimentalportable Safe-Inferred£  *2345678 * 3456872A WeakMapÎ is a Data.Map which does not require the keys to implement the Ord typeclass.Guillaume Sabbagh 2022LGPL-3.0-or-laterguillaumesabbagh@protonmail.com experimentalportable Safe-InferredQ4òCWeakSetsçA weak map is a weak set of pairs (key,value) such that their should only be one pair with a given key.1It is an abstract type, the smart constructor is E.DWeakSets3An association list is a list of pairs (key,value).EWeakSetsO(1)Î. The smart constructor of weak maps. This is the only way of instantiating a C.ÝTakes an association list and returns a function which maps to each key the value associated.áIf several pairs have the same keys, they are kept until the user wants an association list back.FWeakSetsO(1). Construct a C from a  of pairs (key,value).GWeakSetsO(1) . Alias of E* for backward compatibility with Data.Map.HWeakSets9Alias of mempty for backward compatibility with Data.Map.IWeakSetsO(1)'. A map with a single pair (key,value).JWeakSetsO(n)×. Build a map from a set of keys and a function which for each key computes its value.KWeakSetsO(n)È. Build a map from a list of key/value pairs with a combining function. LWeakSetsO(n)È. Build a map from a list of key/value pairs with a combining function. MWeakSets!Alias for backward compatibility.NWeakSets!Alias for backward compatibility.OWeakSets!Alias for backward compatibility.PWeakSets!Alias for backward compatibility.QWeakSets!Alias for backward compatibility.RWeakSets!Alias for backward compatibility.SWeakSets!Alias for backward compatibility.TWeakSets!Alias for backward compatibility.UWeakSetsO(n)Þ. Lookup the value at a key in the map. If the map is not defined on the given value returns Ï, otherwise returns Ð the image.This function is like ^Ë in Data.Map for function (beware: the order of the argument are reversed).VWeakSetsO(n). Unsafe version of U.This function is like W5 in Data.Map, it is renamed to avoid name collisions.WWeakSets%O(n). Find the value at a key. Calls Í# when the element can not be found. Alias of V& for backward compatibility purposes. XWeakSets!Alias for backward compatibility.YWeakSetsSee Z.ZWeakSetsO(n*m)Ú. Difference of two maps. Return elements of the first map not existing in the second map.[WeakSetsO(n^2)%. The number of elements in the map. \WeakSetsO(n)+. Is the key a member of the map? See also ]. ]WeakSetsO(n). Negation of \. ^WeakSetsO(n) . Just like UÑ but the order of argument is reversed. For backward compatibility with Data.Map._WeakSetsO(n). The expression (findWithDefault def k map)Ù returns the value at key k or returns default value def when the key is not in the map. `WeakSetsO(1). Insert a new key and value in the map. If the key is already present in the map, the associated value is replaced with the supplied value. ` is equivalent to a Ñ. aWeakSetsO(n)=. Insert with a function, combining new value and old value. insertWith f key value mp© will insert the pair (key, value) into mp if key does not exist in the function. If the key does exist, the function will insert the pair (key, f new_value old_value). bWeakSetsO(n)Â. Insert with a function, combining key, new value and old value. insertWithKey f key value mpä will insert the pair (key, value) into mp if key does not exist in the function. If the key does exist, the function will insert the pair (key,f key new_value old_value). Note that the key passed to f is the same key passed to b. cWeakSetsO(n)Æ. Combines insert operation with old value retrieval. The expression (insertLookupWithKey f k x map)/ is a pair where the first element is equal to (lookup k map)! and the second element equal to (insertWithKey f k x map). dWeakSetsO(1)š. Insert a new key and value if it is Just in the map. If the key is already present in the map, the associated value is replaced with the supplied value.eWeakSetsO(n)ò. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned. fWeakSetsO(n)”. Update a value at a specific key with the result of the provided function. When the key is not a member of the map, the original map is returned. gWeakSetsO(n)ë. Adjust a value at a specific key. When the key is not a member of the map, the original map is returned. hWeakSetsO(n). The expression (hó f k map) alters the value x at k, or absence thereof. alter can be used to insert, delete, or update a value in a C . In short : ^ k (h f k m) = f (^ k m). iWeakSetsO(n). The expression (i7 f k map) alters the value x at k, or absence thereof. iÊ can be used to inspect, insert, delete, or update a value in a Map. jWeakSetsO(n). The expression (update f k map)˜ updates the value x at k (if it is in the map). If (f x) is Nothing, the element is deleted. If it is (Just y), the key k is bound to the new value y. kWeakSetsO(n). The expression (updateWithKey f k map)š updates the value x at k (if it is in the map). If (f k x) is Nothing, the element is deleted. If it is (Just y), the key k is bound to the new value y. lWeakSetsO(n). Lookup and update. See also kô. The function returns changed value, if it is updated. Returns the original key value if the map entry is deleted. mWeakSetsO(n). The expression (m t1 t2)Þ takes the left-biased union of t1 and t2. It prefers t1 when duplicate keys are encountered. nWeakSetsO(n)". Union with a combining function.oWeakSetsO(n)$. Union with a combining function. Ölet f key left_value right_value = (show key) ++ ":" ++ left_value ++ "|" ++ right_value unionWithKey f (fromList [(5, "a"), (3, "b")]) (fromList [(5, "A"), (7, "C")]) == fromList [(3, "b"), (5, "5:a|A"), (7, "C")]pWeakSetsThe union of a list of maps: (unions == foldl union empty). qWeakSets9The union of a list of maps, with a combining operation: +(unionsWith f == foldl (unionWith f) empty). rWeakSetsO(n*m)–. Difference with a combining function. When two equal keys are encountered, the combining function is applied to the values of these keys. If it returns Nothing, the element is discarded (proper set difference). If it returns (Just y), the element is updated with a new value ysWeakSetsO(n*m)—. Difference with a combining function. When two equal keys are encountered, the combining function is applied to the key and both values. If it returns Nothing, the element is discarded (proper set difference). If it returns (Just y), the element is updated with a new value y. tWeakSetsO(n*m)Ý. Intersection of two maps. Return data in the first map for the keys existing in both maps. uWeakSetsO(n*m)*. Intersection with a combining function. vWeakSetsO(n*m)). Intersection with a combining function.wWeakSets4Check whether the key sets of two maps are disjoint.xWeakSetsûRelate the keys of one map to the values of the other, by using the values of the former as keys for lookups in the latter.yWeakSetsìCompose two functions. If the two functions are not composable, strips the functions until they can compose.zWeakSetsO(n)-. Map a function over all values in the map. {WeakSetsO(n)-. Map a function over all values in the map. |WeakSetsO(n). The function |3 threads an accumulating argument through the map. }WeakSetsO(n^2). The function }3 threads an accumulating argument through the map. ~WeakSetsO(n) . Alias of }å for backward compatibility purposes. We don't implement it because order of pairs should not matter.WeakSetsO(n).  mapKeys f s5 is the map obtained by applying f to each key of s. €WeakSetsO(n^2). mapKeysWith c f s5 is the map obtained by applying f to each key of s. œThe size of the result may be smaller if f maps two or more distinct keys to the same new key. In this case the associated values will be combined using c. WeakSets Alias of $ defined for backward compatibility.‚WeakSetsEq typeclass must be added.ÅIt behaves much like a regular traverse except that the traversing function also has access to the key associated with a value and the values are forced before they are installed in the result map.ƒWeakSetsÎEq typeclass must be added. Traverse keys/values and collect the Just results.„WeakSets… from the left.…WeakSetsFold with key.†WeakSets;Fold the keys and values in the map using the given monoid.‡WeakSets Strict foldr.ˆWeakSets Strict foldl.‰WeakSetsStrict ….ŠWeakSetsStrict ….‹WeakSetsA universal combining function.ŒWeakSetsO(n^2)Á. Transform a function back into its underlying association list.WeakSetsO(n^2)=. Transform a function back into its underlying set of pairs.ŽWeakSetsO(n^2)Ê. Return all values of the map. Beware that an Eq typeclass must be added.WeakSetsO(n^2) . Same as Ž but returns a ,. Beware that an Eq typeclass must be added.WeakSetsO(n^2) . Alias of Ž`.‘WeakSetsO(n^2) . Alias of Ž`.’WeakSetsO(n^2)Æ. Return the keys of a map. Beware that an Eq typeclass must be added.“WeakSetsO(n) . Same as ’ but returns a . No Eq typeclass required.”WeakSetsO(n^2) . Alias of ’`.•WeakSets Alias of ŒÇ for backward compatibility. Beware that an Eq typeclass must be added.–WeakSets Alias of ’` for backward compatibility.—WeakSetsO(n^2)$. Return the set of values of a map.˜WeakSetsO(n^2) . Alias of ŒÇ for backward compatibility. Beware that an Eq typeclass must be added.™WeakSets Alias of ˜ for backward compatibility.šWeakSets Alias of ˜ for backward compatibility.›WeakSetsO(n)/. Filter all values that satisfy the predicate.œWeakSetsO(n)4. Filter all keys/values that satisfy the predicate.WeakSetsO(n*m) . Restrict a C to only those keys found in a .žWeakSetsO(n*m). Remove all keys in a  from a C.ŸWeakSetsO(n)ž. Partition the map according to a predicate. The first map contains all elements that satisfy the predicate, the second all elements that fail the predicate. WeakSetsO(n)Ÿ. Partition the map according to a predicate. The first map contains all elements that satisfy the predicate, the second all elements that fail the predicate. ¡WeakSetsO(n)*. Map values and collect the Just results.¢WeakSetsO(n)/. Map keys/values and collect the Just results.£WeakSetsO(n)5. Map values and separate the Left and Right results.¤WeakSetsO(n):. Map keys/values and separate the Left and Right results.¥WeakSetsO(max(m^2,n^2)). This function is defined as  (isSubmapOf = isSubmapOfBy (==)).¦WeakSetsO(max(m^2,n^2))†. Returns True if the keys of the first map is included in the keys of the second and the predicate evaluation at their value is True.§WeakSetsO(max(m^2,n^2)). This function is defined as ,(isProperSubmapOf = isProperSubmapOfBy (==)).¨WeakSetsO(max(m^2,n^2)). Returns True if the keys of the first map is strictly included in the keys of the second and the predicate evaluation at their value is True.©WeakSetsO(n^2)—. Lookup the index of a key, which is its zero-based index in the sequence. The index is a number from 0 up to, but not including, the size of the map.ªWeakSetsO(n^2)Ì. Return the index of a key, which is its zero-based index in the sequence. The index is a number from 0 up to, but not including, the size of the map. Calls error when the key is not a member of the map.«WeakSetsO(n^2)¶. Retrieve an element by its index, i.e. by its zero-based index in the sequence. If the index is out of range (less than zero, greater or equal to size of the map), error is called.¬WeakSetsO(n^2)É. Update the element at index. Calls error when an invalid index is used.­WeakSetsO(n^2)±. Delete the element at index, i.e. by its zero-based index in the sequence. If the index is out of range (less than zero, greater or equal to size of the map), error is called.®WeakSetsO(n^2)3. Take a given number of pairs to create a new map.¯WeakSetsO(n^2)3. Drop a given number of pairs to create a new map.°WeakSetsO(n^2)$. Split a map at a particular index.±WeakSetsO(n)/. Return the identity function associated to a .²WeakSetsO(n)Á. Memorize a Haskell function on a given finite domain. Alias of J.³WeakSetsO(n^2)". Try to construct an inverse map.´WeakSetsO(n). Return a pseudo inverse g of a C f such that f |.| g |.| f == f.òCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´òDCEFHIJGKLMNOPQRST`abcdefgjklhi^XWUV_\][mnopqZYrstuvwyx‹z{‚ƒ|}~€…„†‡ˆŠ‰ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´Non-clashing functions for Cs.Guillaume Sabbagh 2022LGPL-3.0-or-laterguillaumesabbagh@protonmail.com experimentalportable Safe-InferredS/ EFUVy‘“”±²³´ EFUVy±²“”‘³´ñPure sets are nested sets which only contain other sets all the way down. They allow to explore basic set theory.Guillaume Sabbagh 2022GPL-3guillaumesabbagh@protonmail.com experimentalportable Safe-InferredX=»WeakSetsA » is a  of other pure sets.½WeakSets Construct a » from a list of pure sets.¾WeakSetsConstruct the empty set.¿WeakSets/Construct the singleton containing a given set.ÀWeakSetsØConstruct an ordered pair from two sets according to Kuratowski's definition of a tuple.ÁWeakSets,Construct the cartesian product of two sets.ÂWeakSetsUnion of two pure sets.ÃWeakSetsIntersection of two pure sets.ÄWeakSets4Transform a number into its Von Neumann constructionÅWeakSets+Return wether a pure set is in another one.ÆWeakSets4Return wether a pure set is included in another one.ÇWeakSetsReturn the size of a pure set.ÈWeakSets)Return the set of subsets of a given set.ÉWeakSets=Prettify a pure set according to usual mathematical notation.ÊWeakSets•Format pure sets such that if numbers are recognized, they are transformed into integer and if pairs are recognized, they are transformed into pairs.»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ»¼½¾¿ÀÁÄÂÃÅÆÇÈÉÊÒ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL MNO PQ  RSTUVWXYZ[\]^_`abcdefgh ijkl,mnopqrstuvwx./yz{|}~€‚ƒ„…†‡1ˆ‰#Š‹Œ$5Ž7‘’“%&'”()*+•–—˜™š›œžŸŸ ¡¢!£¤¥¦§¨©ª«¬­®¯°®±²®³´®³µ®±¶·'WeakSets-1.1.4.0-LCqm29ogTxN4AvSjIx10Wd Data.WeakSet Data.WeakMap Math.PureSetData.WeakSet.SafeData.WeakMap.SafeSetempty singletonsetfromList fromAscList fromDescListfromDistinctAscListfromDistinctDescListpowerSetinsertdeletealterFisInmember notMembercardinalsize isIncludedIn isSubsetOfisProperSubsetOfdisjointunionunions difference\\ intersectioncartesianProduct disjointUnionfilter partition lookupIndex findIndexelemAtdeleteAttakedropsplitAtmap mapMonotonicfoldr'foldl' setToListtoList setToMaybe maybeToSet catMaybesmapMaybe catEither mapEithernubSetBy|&|||||*||+||^||-| traverseSet sequenceSet $fShowSet $fMonadSet$fApplicativeSet $fFunctorSet $fMonoidSet$fSemigroupSet$fEqSet $fFoldableSetMapAssociationListweakMapweakMapFromSetfromSet fromListWithfromListWithKeyfromAscListWithfromAscListWithKeyfromDescListWithfromDescListWithKey|?||!|!!?lookupfindWithDefault insertWith insertWithKeyinsertLookupWithKey insertMaybeadjust adjustWithKeyalterupdate updateWithKeyupdateLookupWithKey unionWith unionWithKey unionsWithdifferenceWithdifferenceWithKeyintersectionWithintersectionWithKeycompose|.| mapWithKeymapAccummapAccumWithKeymapAccumRWithKeymapKeys mapKeysWithmapKeysMonotonictraverseWithKeytraverseMaybeWithKey foldlWithKey foldrWithKeyfoldMapWithKey foldlWithKey' foldrWithKey' mergeWithKey mapToListmapToSetelemselems'valuesimagekeyskeys'domainassocskeysSetelemsSet toAscList toDescList filterWithKey restrictKeys withoutKeyspartitionWithKeymapMaybeWithKeymapEitherWithKey isSubmapOf isSubmapOfByisProperSubmapOfisProperSubmapOfByupdateAt idFromSetmemorizeFunctioninverse pseudoInverse $fFunctorMap $fFoldableMap $fMonoidMap$fSemigroupMap $fShowMap$fEqMapPureSetpureSetemptySetpair||||&&&& numberToSetisInP isIncludedInPcard powerSetPprettify formatPureSet $fShowPureSet $fEqPureSetbaseGHC.ErrerrorGHC.Basefmap GHC.MaybeNothingJustconst