package lwd
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=9e7165b650567cf39eac5e07b95346cd7719c5149db0cf9a6de0f965d43ec7c5
sha512=7e015ecbdf19dbf503e70fb1fb8f6e2f78182cafbda172d9849a910d92c4a44e0c4d0fe8fb7a81515ba224ce9e624fac79ef41ad04a010af460dc2c0c2f261bc
doc/lwd/Lwd_table/index.html
Module Lwd_table
Source
Table manipulation
Lwd_table
is an ordered collection with an impure interface. It is designed to be efficient in an interactive setting.
The interface mimics the one of a doubly-linked lists: from a node, called row, you can iterate backward and forward, insert and delete other nodes, and change the value it is bound to.
The sequence of nodes can be observed by map/reduce operations, that will be recomputed efficiently when sequence changes.
The type of tables
Inserting rows
Insert and return a new row at the start of a table. It can be optionnally initialized to the value of set
.
Insert and return a new row at the end of a table. It can be optionnally initialized to the value of set
.
Insert and return a new row just before an existing row. It can be optionnally initialized to the value of set
.
If the input row is unbound (is_bound
returns false), the returned row is too.
Insert and return a new row just after an existing row. It can be optionnally initialized to the value of set
.
If the input row is unbound (is_bound
returns false), the returned row is too.
Iterating over rows
Returns the first row of a table, or None
if the table is empty
Returns the last row of a table, or None
if the table is empty
Returns the row next to another one, or None
if the input row is unbound or is the last row
Returns the row just before another one, or None
if the input row is unbound or is the first row
Accessing and changing row contents
Get the value associated with a row, if any, or None
if the row is unbound
Set the value associated with a row, or do nothing if the row is unbound
Removing rows
Returns true
iff the row is bound in a table (it has not beem remove
d yet, the table has not been clear
ed)
Observing table contents
Observe the content of a table by reducing it with a monoid
Observe the content of a table by mapping and reducing it