# keyed-vals
[](https://github.com/adetokunbo/keyed-vals/actions)
[](http://stackage.org/nightly/package/keyed-vals)
[![Hackage][hackage-badge]][hackage] [![Hackage
Dependencies][hackage-deps-badge]][hackage-deps]
[](https://github.com/adetokunbo/keyed-vals/blob/master/LICENSE)
[keyed-vals](https://hackage.haskell.org/package/keyed-vals) aims to provide a
narrow client for storing key-value collections in storage services like
[Redis].
E.g,
- [Redis] supports many other features
- the abstract [Handle] declared in `keyed-vals` just provides combinators that operate on key-value collections stored in some backend
- so the redis implementation of [Handle] accesses collections in Redis *without* exposing its other features.
[hackage-deps-badge]: <https://img.shields.io/hackage-deps/v/keyed-vals.svg>
[hackage-deps]: <http://packdeps.haskellers.com/feed?needle=keyed-vals>
[hackage-badge]: <https://img.shields.io/hackage/v/keyed-vals.svg>
[hackage]: <https://hackage.haskell.org/package/keyed-vals>
[Handle]: <https://jaspervdj.be/posts/2018-03-08-handle-pattern.html>
[Redis]: <https://redis.io>