An approximate streaming (constant space) unique object counter http://github.com/analytics/hyperloglog

Latest on Hackage:0.4.3

See all snapshots hyperloglog appears in

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for 0.4.2

This version can be pinned in stack with:hyperloglog-0.4.2@sha256:68ada1f73b9b6f41bec304af9c8bef50ffceeb3dc80f5e3b96f2696b731499d0,3196


Hackage Build Status

This package provides a working implementation of HyperLogLog.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett



  • Add a library dependency on the doctests test suite


  • Revamp Setup.hs to use cabal-doctest. This makes it build with Cabal-2.0, and makes the doctests work with cabal new-build and sandboxes.
  • Drop (unused) hashable-extras dependency
  • Add NFData instance for HyperLogLog
  • Require GHC 7.8 or later

  • Support cereal 0.5 and safecopy 0.9.

  • Fixed doctest issues caused by vector 0.11
  • Unfortunately the herbie changes turned out to be flawed (due to issue mikeizbicki/HerbiePlugin#8). Rolling them back for now.

  • Fixed a haddock issue caused by the comments in the herbie code.

  • Added vector 0.11 support.
  • Incorporated some changes suggested by the HerbiePlugin.


  • Support generic-deriving 1.8. We no longer incur a generic-deriving requirement at all except on GHC < 7.6.

  • Support reflection 2


  • Added bytes and binary instances.
  • Compiles warning-free on GHC 7.10.


  • Simplified reifyConfig internals.


  • Added insertHash. This enables users of the 0.2 era version of hyperloglog to manually pick the hash used and load their old data.
  • Builds warning-free on GHC 7.10

  • Constraint bumps for lens and generic-deriving


  • Switched to SipHash, so the package actually works.

  • More #ifdef bugfixes

  • #ifdef bugfix


  • GHC 7.8 compatibility
  • Bumped cereal dependency.


  • Exported insert from Data.HyperLogLog.


  • Made compatible with lens 4


  • Ported Data.Analytics.Approximate.HyperLogLog from analytics into a separate package.