Simple Haskell API for LMDB
===========================
This package allows you to store arbitrary Haskell values in and retrieve them
from a persistent [Lightning Memory-mapped Database][LMDB] on disk.
[LMDB]: https://symas.com/lightning-memory-mapped-database/
LMDB is a high-performance [ACID][]-compliant no-maintenance read-optimized
key-value store. Any Haskell type with a [`Serialise`][Serialise] instance can
be stored in an LMDB database, or used as a key to index one.
[ACID]: https://en.wikipedia.org/wiki/ACID
[Serialise]: https://hackage.haskell.org/package/serialise/docs/Codec-Serialise-Tutorial.html#g:3
This package provides a few different APIs for using LMDB:
* The basic API provides transactional `put` and `get` functions to store
and retrieve values from an LMDB database.
* The extended API provides many functions similar to those in `Data.Map`,
e.g. `lookup`, `insert`, `delete`, `foldr`, and so on.
* The `View` API provides a read-only snapshot of an LMDB database that can
be queried from pure code.
* The `DBRef` API provides a mutable variable similar to `IORef` that is
tied to a particular key in an LMDB database.