The Haskell Cryptography Group is glad to announce the first public release of our low-level bindings to libsodium: @hackage/libsodium-bindings
We have made sure that this library is a minimal burden in your dependency tree, which is why it does not depend on anything other than
base, which guarantees low friction when upgrading GHC.
This library intentionally implements an API close to the C interface, allowing higher-level libraries to implement APIs of their choosing. It powers the Group’s sel library, which is still undergoing usability testing before release.
The documentation has been designed to be as stand-alone as possible, and links to the libsodium documentation for each C entity exposed.
The roadmap for this library is as follows:
Static bindings to libsodium: Platforms are usually not in sync when it comes to distributing new versions of system libraries, and libsodium does not escape this fact of life. Hence it would improve the user experience if they knew they could rely on libsodium-bindings to provide a version of the C library. This is particularly on-topic on macOS, where Homebrew has started shipping libsodium 1.0.19.
User experience on Windows: This platform is unfortunately left behind when it comes to user experience, and so we commit to take the usability of the library on Windows seriously.
Haskell Cryptography Group projects: https://haskell-cryptography.org/projects
My personal thanks to every person who chimed in to make sure the documentation was of high quality.