This module provides a two-dimensional text zipper data structure.
This structure represents a body of text and an editing cursor which
can be moved throughout the text, along with a set of editing
transformations.
Text zippers are generalized over the set of data types that might be
used to store lists of characters (e.g.,
String,
Text,
etc.). As a result, the most general way to create a text zipper is to
use
mkZipper and provide all of the functions required to
manipulate the underlying text data.
Implementations using
Text and
String are provided.