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.