úÎide€4      !"#$%&'()*+,-./0123 Safe-InferredfA binary list is a list containing a power of two elements. Note that a binary list is never empty.454554None O(1)%. Build a list with a single element.O(1). Given a binary list l with length 2^k: lengthIndex l = kO(1)!. Number of elements in the list.O(log n)a. Lookup an element in the list by its index (starting from 0). If the index is out of range, 6 is returned.O(1)z. Append two binary lists. This is only possible if both lists have the same length. If this condition is not hold, 6 is returned.O(1)˜. Split a binary list into two sublists of half the length, unless the list only contains one element. In that case, it just returns that element.O(log n) . Calling  take n xs returns the first min (2^n) (length xs) elements of xs.O(log n) . Calling  takeEnd n xs returns the last min (2^n) (length xs) elements of xs. Calling replicateA n f= builds a binary list collecting the results of executing 2^n times the applicative action f.  The same as  1, but the actions are executed in reversed order. O(log n) . Calling  replicate n x builds a binary list with 2^n occurences of x. O(n)7. Build a binary list with the given length index (see *) by applying a function to each index. Like  2, but the generator function returns a value in a 75. Therefore, the result is as well contained in a 7.O(log n)). Get the first element of a binary list.O(log n)(. Get the last element of a binary list.O(n). Reverse a binary list.O(n)w. Transform a list of pairs into a flat list. The resulting list will have twice more elements than the original.O(n). Opposite transformation of ‡. It halves the number of elements of the input. As a result, when applied to a binary list with a single element, it returns 6.8 Expression pairBuilder f xs is equivalent to joinPairs (map f xs)M, but does not build any intermediate structure. Used for rewriting rules.9 Expression zipAndJoing f g xs ys is equivalent to pairBuilder f (zipWith g xs ys)M, but does not build any intermediate structure. Used for rewriting rules.O(n)). Zip two binary lists using an operator.O(n) . Zip two binary lists in pairs.O(n). Unzip a binary list of pairs.: Expression  unzipMap f xs is equivalent to unzip (map f xs)4, but does not create any intermediate structure.;O(log n)U. Calculate the exponent of a positive integer number expressed as a power of two.O(n)t. Build a binary list from a linked list. If the input list has length different from a power of two, it returns 6.<O(1)F. This is the last exponent that has power of two defined in the type =.5Note: This value is system dependent, since the type = varies in size from system to system.>O(1)u. Calculate the next power of two exponent, if there is any. It is possible to not find a next one since the type =P is finite. If the input is already a power of two, its exponent is returned.O(n)¡. Build a binary list from a linked list. If the input list has length different from a power of two, fill to the next power of two with a default element.JWarning: this function crashes if the input list length is larger than any power of two in the type =!. However, this is very unlikely.O(n)Q. Create a list from the elements of a binary list matching a given condition.O(n)D. Create a list extracting a sublist of elements from a binary list._Apply an applicative action to every element in a segment of a binary list, from left to right.* ?89:;<>@ABCDEFGH  * ?89:;<>@ABCDEFGHNone»The result of decoding a binary list, which produces a list of binary lists of increasing size, ending in either a decoding error or a final binary list. When this is the result of 1û, it contains sublists of order 1, 2, 4, 8, ... up to the order of the total list (unless an error has been encountered first). These sublists are either a section starting at the left, or a section starting at the right, depending on the ) of encoding.@A decoding error, with an error message and the remaining input.%Full binary list and remaining input./Partial binary list, and rest of decoded input.æA binary list decoded, from where you can extract a binary list. If the decoding process fails in some point, you still will be able to retrieve the binary list of elements that were decoded successfully before the error.!Direction of encoding."Length index (see ) of the binary list.# Decoded data.$yA binary list encoded, ready to be written in a file or be sent over a network. It can be directly translated to a I using 2, or restored using 3.&Direction of encoding.'Length index (see ) of the binary list.( Encoded data.)+Direction of encoding. If the direction is +P, the binary list will be encoded from left to right. If the direction is *ÿ=, the binary list will be encoded in the opposite way. Choose a direction according to the part of the list you want to have access earlier. If you foresee reading only a part of the list, either at its beginning or end, an appropiate choice of direction will allow you to avoid decoding the full list.,Encode a binary list using the J instance of its elements.-Decode a binary list using the J+ instance of its elements. It returns a K in case of decoding failure..fEncode a binary list, using a custom serialization for its elements and an user-supplied direction./vGet the final result of a decoding process, unless it returned an error, in which case this error is returned as a K.0ZBreak a list down to sublists of order 1, 2, 4, 8, ..., 2^k. The result is stored in a @ value. Obviously, the output will not have a decoding error.1;Decode an encoded binary list. The result is given as a < value, which can then be queried to get partial results.21Translate an encoded binary list to a bytestring.3ŠTranslate a bytestring to an encoded binary list, in case this is possible. Otherwise, it returns a string with a human-readable error. !"#$%&'()*+,-./0123 !"#$%&'()*+,-./0123,-)+*$%&'(. !"#/0123  !"#$%&'()+*,-./0123L      !"##$%&''()*+,-./0123456789:8;<=>?@ABCDEFGHIJKLMNOPQRSTU8;VWbinary-list-0.3.3.0Data.BinaryListData.BinaryList.SerializeData.BinaryList.InternalBinList singleton lengthIndexlengthlookupappendsplittaketakeEnd replicateA replicateAR replicategenerate generateMheadlastreverse joinPairs disjoinPairszipWithzipunzipfromListfromListWithDefault toListFilter toListSegmenttraverseSegmentDecoded DecodingError FinalResult PartialResultDecodedBinList decDirection decLengthdecDataEncodedBinList encDirection encLengthencData Direction FromRightFromLeftencodedecode encodeBinList fromDecoded toDecoded decodeBinListencodedToByteStringencodedFromByteStringListNodeListEndbase Data.MaybeNothingGHC.BaseMonad pairBuilder zipAndJoinunzipMapexponentInBasisTwolastExponentOfTwoghc-prim GHC.TypesIntnextExponentOfTwodisjoinPairsNodestraverseSegmentFromTotraverseSegmentFromtraverseSegmentTo traverseFullmap$fTraversableBinList$fFoldableBinList$fFunctorBinList $fShowBinListbytestring-0.10.4.0Data.ByteString.Lazy.Internal ByteStringbinary-0.7.1.0Data.Binary.ClassBinaryString