zipper -package:streams -package:traverse-with-class -package:zippers is:module

A zipper is a structure for walking a value and manipulating it in constant time. This module was inspired by the paper: Michael D. Adams. Scrap Your Zippers: A Generic Zipper for Heterogeneous Types, Workshop on Generic Programming 2010.
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.
Creation date: Thu Jul 23 08:42:37 2020.
Spine-lazy radix tree location manipulation. Allows lookup and successive insertion without retaining the entirety of the key in memory.
Spine-strict radix tree location manipulation. Allows lookup and successive insertion without retaining the entirety of the key in memory.
Zipper over the Data.Tree data structure. This module is based on rosezipper.