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.Zipper` 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, "~> 0.1.0"}
]
end
```
## Usage
The docs can be found at [https://hexdocs.pm/zippex](https://hexdocs.pm/zippex).
Also see Zippex unit tests for usage examples.