A Zipper 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 - Clojure's zipper library
- inaka/zipper - A generic Zipper implementation in Erlang
- Exercism's Zipper exercise
The package can be installed by adding zippex
to your list of dependencies
in mix.exs
:
def deps do
[
{:zippex, "~> 1.0.0"}
]
end
The docs can be found at https://hexdocs.pm/zippex.
Also see Zippex unit tests for usage examples.