README.md
# Zippex
A [Zipper](https://en.wikipedia.org/wiki/Zipper_%28data_structure%29) is a
representation of an aggregate data structure which allows it to be
traversed and updated arbitrarily. The `Zippex` module provides a generic
zipper for structures with tree-like semantics.
Zippex is inspired by other zipper implementations, notably:
* [clojure.zip](https://clojuredocs.org/clojure.zip/zipper) - Clojure's zipper library
* [inaka/zipper](https://github.com/inaka/zipper) - A generic Zipper implementation in Erlang
* Exercism's [Zipper](https://exercism.io/tracks/elixir/exercises/zipper) exercise
## Installation
The package can be installed by adding `zippex` to your list of dependencies
in `mix.exs`:
```elixir
def deps do
[
{:zippex, "~> 1.0.0-rc.1"}
]
end
```
## Usage
The docs can be found at [https://hexdocs.pm/zippex](https://hexdocs.pm/zippex).
Also see Zippex [unit tests](https://github.com/Bluetab/Zippex/blob/master/test/zippex_test.exs)
for usage examples.