A set of low-level bindings (and helpers) wrapping
libhydrogen
, commit
7bd39c471d31e654b132153c04e20ff49f257cb2
.
No user of this library should ever have to think about C, linking to system libraries, enabling SIMD through weird flags, or any similar issues. Just add this as a dependency and go.
No weird lawless type class hierarchy. No dependencies outside of base
. These
are truly minimal bindings, for those who want the ability to operate as close
to the original code as posssible.
Just by reading the documentation of this library, you should know everything you need to use it. No reading the C 'documentation' should ever be required. Furthermore, you shouldn't need to doubt that this behaves - our CI should prove it to you. No surprises on upgrades either - impeccable PVP compliance only here.
See the Haddocks for each of the public modules for explanations of what functions all do. These are deliberately kept close to C, as they're designed to be 'wrapped up' in whatever API you choose to expose.
Our CI currently checks Windows, Linux (on Ubuntu) and macOS. We check the following GHC versions:
- 8.10.7
- 9.0.2
- 9.2.2
The bindings themselves are licensed under BSD-3-Clause
, while the C code for
libhydrogen
is under ISC
. See the LICENSE
and LICENSE.LIBHYDROGEN
files for
more information.