BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:hyperloglog-0.4.6@sha256:2775cf20483a86596e69fdd944e32899ea88de26f4c2bd274b01f421611e98a9,2788

Module documentation for 0.4.6


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

-Edward Kmett


0.4.6 [2022.04.18]

  • Remove the siphash dependency. Because siphash no longer builds on GHC 9.2+, we instead bundle the code alongside hyperloglog. This allows hyperloglog to build with 9.2.

0.4.5 [2021.11.16]

  • Drop support for pre-8.0 versions of GHC.
  • Allow building with hashable-1.4.*.

0.4.4 [2021.02.17]

  • Allow building with lens-5.*.
  • The build-type has been changed from Custom to Simple. To achieve this, the doctests test suite has been removed in favor of using cabal-docspec to run the doctests.

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.