Îõ³h%Ža9      !"#$%&'()*+,-./012345678¬Homogeneous sets are sets which can contain only one type of values. They are more flexible than Data.Set because they do not require the objects contained to be orderable.Guillaume Sabbagh 2022LGPL-3.0-or-laterguillaumesabbagh@protonmail.com experimentalportable Safe-Inferred/WeakSets3An association list is a list of pairs (key,value).WeakSetsúA function of homogeneous sets. It is a 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 .WeakSets&A homogeneous set is a list of values.ðThe only differences are that we don't want duplicate elements and we don't need the order of the list elements. 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 ' which ensures the previous conditions.WeakSetsÇThe smart constructor of sets. This is the only way of instantiating a .ÎIf several elements are equal, they are kept until the user wants a list back.WeakSets!Return a boolean indicating if a  is included in another one.WeakSets Transform a ì back into a list, the list returned does not have duplicate elements, the order of the original list holds.WeakSetsSize of a set.WeakSets%Return wether an element is in a set.WeakSets$Return the intersection of two sets. WeakSetsReturn the union of two sets. WeakSets)Return the cartesian product of two sets. WeakSets&Return the disjoint union of two sets. WeakSets;Returns the cartesian product of a set with itself n times. WeakSets"Return the difference of two sets.WeakSets-Return the set of all subsets of a given set.WeakSets&Filter a set according to a condition.WeakSetsSet version of listToMaybe.WeakSetsSet version of maybeToList.WeakSetsSet version of catMaybes.WeakSetsSet version of mapMaybe.WeakSetsÌThe smart constructor of functions. This is the only way of instantiating a .Ý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.WeakSets?Transform a function back into its underlying association list.WeakSets Return the domain of a function.WeakSetsúReturn the image of a function. The image of a function is the set of values which are reachable by applying the function.WeakSetsÝApply a function to a given value. If the function is not defined on the given value returns 9, otherwise returns : the image.This function is like ;Ê in Data.Map for function (the order of the argument are reversed though).WeakSetsUnsafe version of .This function is like (!) in Data.Map for function.WeakSetsõApply a function to a given value, if the value is in the domain returns the image, otherwise return a default value.This function is like Ê in Data.Map for function (the order of the argument are reversed though).WeakSetsìCompose two functions. If the two functions are not composable, strips the functions until they can compose.WeakSets5Memorize a Haskell function on a given finite domain.  ñ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-Inferred='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.0WeakSets4Transform a number into its Von Neumann construction1WeakSets+Return wether a pure set is in another one.2WeakSets4Return wether a pure set is included in another one.3WeakSetsReturn the size of a pure set.4WeakSets)Return the set of subsets of a given set.5WeakSets>Prettiffy a pure set according to usual mathematical notation.6WeakSets•Format pure sets such that if numbers are recognized, they are transformed into integer and if pairs are recognized, they are transformed into pairs.'()*+,-./0123456'()*+,-0./123456<      !"#$%&'()*+,-./0123456789:;<:;=:>?À'WeakSets-0.2.0.0-D5erAhBIGM4AA7KdbmHgIcHomogeneousSetPureSetAssociationListFunctionSetset isIncludedIn setToListcardinalisIn|&|||||*||+||^||-|powerSet filterSet setToMaybe maybeToSetcatMaybesToSet mapMaybeToSetfunction functionToSetdomainimage|$||!|findWithDefault|.|memorizeFunction $fMonadSet$fApplicativeSet $fFunctorSet $fFoldableSet $fMonoidSet$fSemigroupSet$fEqSet $fShowSet$fShowFunction $fEqFunctionpureSetemptySet singletonpaircartesianProduct||||&&&& numberToSetisInP isIncludedInPcard powerSetPprettify formatPureSet $fShowPureSet $fEqPureSetbase GHC.MaybeNothingJustGHC.Listlookup