package lambda-term

  1. Overview
  2. Docs
Terminal manipulation library for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

lambda-term-3.2.0.tar.gz
md5=68a44ac4a5c643cf48ea927c073b4428
sha512=46cd46f47c9f34c0a5e096b96e6eec59667b645bf5201140e498e6d4eb9baba8204a2b30b73c4b2f8140e5cf1972a56e3aa485b27bc5ace25b2c368f713ad7c4

doc/lambda-term/LTerm_dlist/index.html

Module LTerm_dlistSource

Mutable sequence of elements (deprecated)

A sequence is an object holding a list of elements which support the following operations:

  • adding an element to the left or the right in time and space O(1)
  • taking an element from the left or the right in time and space O(1)
  • removing a previously added element from a sequence in time and space O(1)
  • removing an element while the sequence is being transversed.
  • deprecated

    This module should be an internal implementation detail of Lwt, and may be removed from the API at some point in the future. Use any other doubly-linked list library as an alternative.

Sourcetype 'a t

Type of a sequence holding values of type 'a

Sourcetype 'a node

Type of a node holding one value of type 'a in a sequence

Operation on nodes

Sourceval remove : 'a node -> unit

Removes a node from the sequence it is part of. It does nothing if the node has already been removed.

Operations on sequence

Sourceval create : unit -> 'a t

create () creates a new empty sequence

Sourceval add_l : 'a -> 'a t -> 'a node

add_l x s adds x to the left of the sequence s

Sequence iterators

Note: it is OK to remove a node while traversing a sequence

Sourceval iter_l : ('a -> unit) -> 'a t -> unit

iter_l f s applies f on all elements of s starting from the left

Sourceval fold_l : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b

fold_l f s is:

  fold_l f s x = f en (... (f e2 (f e1 x)))

where e1, e2, ..., en are the elements of s