úÎ!u»     (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone-.HX^   (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNone-7=>?@ACHIMSX€  hyperloglogInitialize a new counter:HrunHyperLogLog (mempty :: HyperLogLog 3) == V.fromList [0,0,0,0,0,0,0,0]True4Please note how you specify a counter size with the nc invocation. Sizes of up to 16 are valid, with 7 being a likely good minimum for decent accuracy.?Let's count a list of unique items and get the latest estimate:3size (foldr insert mempty [1..10] :: HyperLogLog 4)DApproximate {_confidence = 0.9972, _lo = 2, _estimate = 9, _hi = 17} Note how A can be used to add new observations to the approximate counter. hyperloglog If two types p and q; reify the same configuration, then we can coerce between   p and   q(. We do this by building a hole in the nominal& role for the configuration parameter. hyperloglog\Insert a value that has already been hashed by whatever user defined hash function you want. hyperloglogApproximate size of our set   (c) Edward Kmett 2013-2015BSD3Edward Kmett <ekmett@gmail.com> experimental non-portableNoneo        !"(hyperloglog-0.4.3-31NMcTwnfVsJUEZfDA8PMXData.HyperLogLog.ConfigData.HyperLogLog.TypeData.HyperLogLogRanklim32 numBuckets smallRange interRangerawFactalpha bucketMask calcBucketcalcRankHasHyperLogLog hyperLogLog HyperLogLogrunHyperLogLog coerceConfiginsert insertHashsizeintersectionSizecast$fMonoidHyperLogLog$fSemigroupHyperLogLog$fBinaryHyperLogLog$fSerialHyperLogLog$fSerializeHyperLogLog$fHasHyperLogLogkHyperLogLogp$fEqHyperLogLog$fShowHyperLogLog$fGenericHyperLogLog$fNFDataHyperLogLog