package containers-data
Install
Dune Dependency
Authors
Maintainers
Sources
md5=897b5af970ba48508a2ee001d90e8869
sha512=d4bf1219cc32017d6dee1462c9a6c555e3da833512cdc6e176a92e3a229497734cf6bc0cf2c2abd30183de860858468115c000c719742162e78080074149d317
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.