package containers
Install
Dune Dependency
Authors
Maintainers
Sources
md5=d84e09c5d0abc501aa17cd502e31a038
sha512=8b832f4ada6035e80d81be0cfb7bdffb695ec67d465ed6097a144019e2b8a8f909095e78019c3da2d8181cc3cd730cd48f7519e87d3162442562103b7f36aabb
doc/containers.data/CCZipper/index.html
Module CCZipper
Source
List Zipper
The pair l, r
represents the list List.rev_append l r
, but with the focus on r
Convert the zipper back to a list. to_list (l,r)
is List.rev_append l r
.
Convert the zipper back to a reversed list. In other words, to_list (l,r)
is List.rev_append r l
.
Go to the left, or do nothing if the zipper is already at leftmost pos.
Go to the right, or do nothing if the zipper is already at rightmost pos.
Modify the current element, if any, by returning a new element, or returning None
if the element is to be deleted.
Insert an element at the current position. If an element was focused, insert x l
adds x
just before it, and focuses on x
.
Is the zipper focused on some element? That is, will focused
return a Some v
?
Return the focused element, if any. focused zip = Some _
iff empty zip = false
.
Drop every element on the "left" (calling left
then will do nothing).
Drop every element on the "right" (calling right
then will do nothing), keeping the focused element, if any.