úÎŽ†ÈB      !"#$%&'()*+,-./0123456789:;<=>?@A© 2017 Herbert Valerio RiedelGPLv3Unsafe  DFQTVÊBWordsize in bytes&CDEFGHIJKLMBNOPQRSTUVWXYZ[\]^_`abcdefgCDEFGHIJKL© 2017 Herbert Valerio RiedelGPLv3Unsafe  DFQTV] An array of unboxed h stringsQThe memory footprint of this data-structure is a single heap object (an unlifted  ByteArray#") with the size expressed in wordsK 3 + n + \left\lceil \frac{1}{w} \sum_{i=0}^{n-1} len(s_i) \right\rceil where the word-size w is either w = 4 or w = 8 bytes; and where len(s_i)( denotes the UTF-8 size in bytes of the i-th text string.NOTE: Depending on whether you UNPACK the P wrapper, you need at least one additional word for the pointer to the internal  ByteArray# heap object.\mathcal{O}(1) . An empty \mathcal{O}(1) . Construct  with single element\mathcal{O}(1). Test whether  TestArray is empty.\mathcal{O}(1)(. Return number of strings contained in  TestArray.\mathcal{O}(1). Array indexing (0-based).\mathcal{O}(n) . Construct  from list of strings.i\mathcal{O}(n+m). Concatenate two s\mathcal{O}(n). Deconstruct  into list of strings.\mathcal{O}(n). Test whether  TestArray contains a specific string. \mathcal{O}(n)%. Find occurences of given string in 1 and report list of indices (in ascending order).j\mathcal{O}(n+m). Concatenate two s.kli mnopqrk© 2017 Herbert Valerio RiedelGPLv3 Trustworthy‘   © 2017 Herbert Valerio RiedelGPLv3 TrustworthyDFKQTVIsassociativity of t A set of unboxed h stringsQThe memory footprint of this data-structure is a single heap object (an unlifted  ByteArray#") with the size expressed in wordsK 3 + n + \left\lceil \frac{1}{w} \sum_{i=0}^{n-1} len(s_i) \right\rceil where the word-size w is either w = 4 or w = 8 bytes; and where len(s_i)( denotes the UTF-8 size in bytes of the i-th text string.NOTE: Depending on whether you UNPACK the  P wrapper, you need at least one additional word for the pointer to the internal  ByteArray# heap object. \mathcal{O}(1) . An empty  . \mathcal{O}(1). Report number of elements in  . size empty0size (singleton "")1$size (fromList ["Hey","Hey","Jude"])2\mathcal{O}(1) . Check for   set. null emptyTruenull (singleton "")False\mathcal{O}(1)'. Construct set containing one element.toList (singleton "alone") ["alone"]\mathcal{O}(n \log n)&. Construct set from list of elements.5toList (fromList ["Hey","Jude","Hey","Law","Hey",""])["","Hey","Jude","Law"]\mathcal{O}(n)B. Construct set from list of distinct elements in ascending order.NOTE2: If the input list is not strictly ascending, an u is thrown.\mathcal{O}(n) . Convert Set to  .\mathcal{O}(n) . Convert   to Set.\mathcal{O}(n) . Convert   to list of h in ascending order.\mathcal{O}(1) . Convert   to  of h in ascending order.5toList (fromList ["Hey","Jude","Hey","Law","Hey",""])["","Hey","Jude","Law"]\mathcal{O}(1)#. Extract minimal element from set.lookupMin emptyNothing"lookupMin (fromList ["a","b","c"])Just "a"\mathcal{O}(1)#. Extract maximal element from set.lookupMax emptyNothing"lookupMax (fromList ["a","b","c"])Just "c"\mathcal{O}(\log n)%. Test whether set contains a string.member "empty" emptyFalse#member "a" (fromList ["a","b","c"])True#member "d" (fromList ["a","b","c"])False\mathcal{O}(1) . Retrieve i/-th element in the sorted sequence of elements.fromList ["Hey","","Jude"] !? 0Just ""fromList ["Hey","","Jude"] !? 1 Just "Hey"fromList ["Hey","","Jude"] !? 3Nothing See also .\mathcal{O}(\log n)Y. Look up element in set and report its zero-based index in the sorted sequence elements.+lookupIndex "" (fromList ["Hey","","Jude"])Just 0.lookupIndex "Hey" (fromList ["Hey","","Jude"])Just 1.lookupIndex "Law" (fromList ["Hey","","Jude"])Nothing See also .\mathcal{O}(\log n)[. Look up "greatest" string (together with its index) in set less or equal to given string.#lookupLE "a" (fromList ["bb","cc"])Nothing#lookupLE "c" (fromList ["bb","cc"]) Just (0,"bb")$lookupLE "cc" (fromList ["bb","cc"]) Just (1,"cc")#lookupLE "z" (fromList ["bb","cc"]) Just (1,"cc")\mathcal{O}(\log n)[. Look up "least" string (together with its index) in set greater or equal to given string.#lookupGE "a" (fromList ["bb","cc"]) Just (0,"bb")#lookupGE "c" (fromList ["bb","cc"]) Just (1,"cc")$lookupGE "cc" (fromList ["bb","cc"]) Just (1,"cc")#lookupGE "z" (fromList ["bb","cc"])Nothing   svwxyz{| }© 2017 Herbert Valerio RiedelGPLv3 TrustworthyDFQTV†%A map of (unboxed)  ShortText string keys to values.AThe memory footprint of this data-structure is expressed in wordsi 8 + 2n + \left\lceil \frac{1}{w} \sum_{i=0}^{n-1} len(k_i) \right\rceil + \sum_{i=0}^{n-1} size(v_i) wherethe word-size w is either w = 4 or w = 8 bytes,len(k_i)( denotes the UTF-8 size in bytes of the i-th key string, and size(v_i)( denotes the allocated heap size of the i-th value in words.NOTE%: One word can be saved by unpacking % (i.e. via {-# UNPACK #-}) into another constructor.&\mathcal{O}(\log n). Lookup value for given key.+fromList [("bb",False),("cc",True)] !? "cc" Just True This is a ~ped infix alias of '.'\mathcal{O}(\log n). Lookup value for given key.0lookup "a" (fromList [("bb",False),("cc",True)])Nothing0lookup "c" (fromList [("bb",False),("cc",True)])Nothing1lookup "cc" (fromList [("bb",False),("cc",True)]) Just True0lookup "z" (fromList [("bb",False),("cc",True)])Nothing(\mathcal{O}(1)/. Extract minimal key and its associated value.lookupMin emptyNothing1lookupMin (fromList [("a",EQ),("b",GT),("c",LT)]) Just ("a",EQ))\mathcal{O}(1)/. Extract maximal key and its associated value.lookupMax emptyNothing1lookupMax (fromList [("a",EQ),("b",GT),("c",LT)]) Just ("c",LT)*\mathcal{O}(\log n)T. Lookup "greatest" key in map less or equal to given key and return key/value pair.2lookupLE "a" (fromList [("bb",False),("cc",True)])Nothing2lookupLE "c" (fromList [("bb",False),("cc",True)])Just ("bb",False)3lookupLE "cc" (fromList [("bb",False),("cc",True)])Just ("cc",True)2lookupLE "z" (fromList [("bb",False),("cc",True)])Just ("cc",True)+\mathcal{O}(\log n)Q. Lookup "least" key in map less or equal to given key and return key/value pair.2lookupGE "a" (fromList [("bb",False),("cc",True)])Just ("bb",False)2lookupGE "c" (fromList [("bb",False),("cc",True)])Just ("cc",True)3lookupGE "cc" (fromList [("bb",False),("cc",True)])Just ("cc",True)2lookupGE "z" (fromList [("bb",False),("cc",True)])Nothing,\mathcal{O}(\log n)R. Lookup value for key in map or return default value if key not contained in map.>findWithDefault True "z" (fromList [("bb",False),("cc",True)])True?findWithDefault True "bb" (fromList [("bb",False),("cc",True)])False See also ' or &.-\mathcal{O}(n) . Convert Map to %..\mathcal{O}(n) . Convert % to Map.\mathcal{O}(1). Extract set of all keys./\mathcal{O}(\log n)%. Test whether key is present in map.member "empty" emptyFalse2member "a" (fromList [("a",EQ),("b",GT),("c",LT)])True2member "d" (fromList [("a",EQ),("b",GT),("c",LT)])False€\mathcal{O}(n)#. list all keys in ascending order.\mathcal{O}(n)>. list all values of the map in ascending order of their keys.0\mathcal{O}(n)G. list all key/value pairs of the map in ascending order of their keys.StoList (fromList [("Hey",GT),("Jude",EQ),("Hey",LT),("Law",EQ),("Hey",EQ),("",EQ)])+[("",EQ),("Hey",EQ),("Jude",EQ),("Law",EQ)]1\mathcal{O}(n \log n)-. Construct map from list of key/value pairs.StoList (fromList [("Hey",GT),("Jude",EQ),("Hey",LT),("Law",EQ),("Hey",EQ),("",EQ)])+[("",EQ),("Hey",EQ),("Jude",EQ),("Law",EQ)]2\mathcal{O}(n)@. Construct map from list with distinct keys in ascending order.NOTE2: If the input list is not strictly ascending, an u is thrown.3\mathcal{O}(1) . An empty %.4\mathcal{O}(1)*. Construct map containing a single entry.toList (singleton "sa" LT) [("sa",LT)]5\mathcal{O}(1)". Report number of entries in map. size empty0size (singleton "sa" LT)14size (fromList [("a",True),("b",False),("a",False)])26\mathcal{O}(1). Test whether map is 3. null emptyTruenull (singleton "" ())False7\mathcal{O}(n)". Apply function to values in map.@toList (map not (fromList [("a",True),("b",False),("a",False)]))[("a",True),("b",True)]!This is a specialised version of ‚. %&'()*+,-./01234567% 56/'&,()*+3412-0.7%ƒ„          !"#$% &'()   *+,-./01234566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsituvwxityz{-text-containers-0.1.0.0-EV2koK0kIEFWNTr5J9lObData.TextArray.UnboxedData.TextSet.UnboxedData.TextMap.Unboxed.LazyInternalData.TextArray.Unboxed.Internal TextArrayempty singletonnulllength!?fromListtoListelem elemIndicesKeyTextSetsizefromDistinctAscListfromSettoSettoArray lookupMin lookupMaxmember lookupIndexlookupLElookupGE $fReadTextSet $fShowTextSet$fIsListTextSet $fEqTextSet $fOrdTextSet$fNFDataTextSet$fHashableTextSet $fShowLResTextMaplookupfindWithDefaultfromMaptoMapmap$fTraversableTextMap$fFoldableTextMap$fFunctorTextMap$fHashableTextMap$fNFDataTextMap$fIsListTextMap $fReadTextMap $fShowTextMap $fOrdTextMap $fEqTextMapwordSize IdxOfsLenMAMA#AA#MBAMBA#BABA#c_memcmpba2sbsba2stst2ba copyByteArray indexIntArraysizeOfByteArray writeIntArray newByteArrayunsafeFreezeByteArraycreateBAsliceBA sizeofArray indexArray writeArraynewArrayunsafeFreezeArraycreateAemptyAarraySingletonarrayFromListNarrayMap arrayTraverse arrayToListequalByteArraycompareByteArray cmpBA2OfsLen'text-short-0.1.1-8hSSgQzSFFX6PS59TZAc9MData.Text.Short.Internal ShortTextappend$fSemigroupTextArrayTA#ta2ba findAllOrdfindIndicesOrd indexOfsLen indexOfsLen' listOfsLensumLenLModelookupIndexNearbaseGHC.ErrerrorLBelowLAboveLRes LResEmpty LResExact LResBelow LResAboveTSGHC.Baseflip keysTextSetkeyselemsfmapTM