pez

A Pretty Extraordinary Zipper library

http://brandon.si/code/pez-zipper-library-released/

Latest on Hackage:0.1.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Brandon Simmons
Maintained by [email protected]

PEZ is a generic zipper library. It uses lenses from the "fclabels" package to reference a "location" to move to in the zipper. The zipper is restricted to types in the Typeable class, allowing the user to "move up" through complex data structures such as mutually-recursive types.

Both the Typeable class and fclabels lenses can be derived in GHC, making it easy for the programmer to use a zipper with a minimum of boilerplate.

Please send any feature requests or bug reports along.

Changes 0.0.4 -> 0.1.0:

 - use fclabels 1.0
 - module renamed Data.Label.Zipper
 - 'ZPath' renamed 'Motion', define new Up type and instance
 - fclabels lenses now require wrapping with 'to'
 - 'moveTo' changed to 'move'
 - savedLens renamed flatten
 - SavedPath renamed To
 - removed experimental operators
 - using failure package for exceptions
 - etc., etc.