zipper -package:streams -package:traverse-with-class -package:zippers
Create a zipper, focused on the top-left value.
Not on Stackage, so not searched.
Generic zipper for families of recursive datatypes
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.
Zipper structure, whose root type is the first type argument, and
whose focus type is the second type argument.
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.
Create a zipper with a different focus type from the outer type. Will
return Nothing if there are no instances of the focus type
within the original value.
differentiate zs xs takes the first
z from
z2
that also belongs to xs
and turns xs
into a stack
with z
being the current element. Acts as
differentiate if zs
and xs@ don't intersect.
Not on Stackage, so not searched.
Zipper utils that weren't in Control.Comonad.Store.Zipper
Not on Stackage, so not searched.
An implementationg of Attribute Grammars using Functional Zippers
Zipper for rose trees
A zipper consist of the current tree and the branches on the way back
to the root
Conversion of a navigatable rose tree into an ordinary rose tree.
The context, the parts for moving up to the root are just removed from
the tree. So when transforming a navigatable tree by moving around and
by changing some nodes, one has to navigate back to the root, else
that parts are removed from the result
Conversion of a rose tree into a navigatable rose tree
From a zipper take the whole structure, including any modifications.
A text editor zipper library
This library provides a zipper and API for editing text.