An approximate streaming (constant space) unique object counter


Version on this page:0.4.3
LTS Haskell 22.23:0.4.6@rev:4
Stackage Nightly 2024-05-27:0.4.6@rev:4
Latest on Hackage:0.4.6@rev:4

See all snapshots hyperloglog appears in

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:hyperloglog-0.4.3@sha256:f108ea724489c49532ad6e4e5a6929bbc446e0329358b9fec5fecb42c7ae4d10,3283

Module documentation for 0.4.3


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


0.4.3 [2019.09.13]

  • Remove unused safecopy dependency.


  • 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.