Module Sek__PublicSignature

Type Abbreviations

type index = int

An index into a sequence is an integer. It is comprised between 0 (included) and the length of the sequence (excluded or included, depending on the circumstances).

type length = int

The length of a sequence is a nonnegative integer.

type 'a segment = 'a array * index * length

An array segment is described by a triple of an array a, a start index i, and a length k.

type 'a segments = ('a segment -> unit) -> unit

A sequence of array segments is represented by a higher-order iterator.

type ('a1, 'a2) segments2 = ('a1 segment -> 'a2 segment -> unit) -> unit

A sequence of pairs of array segments of matching lengths is represented by a higher-order iterator.

type capacity = int

The capacity of a chunk is a nonnegative integer.

type depth = int

The depth of a chunk is a nonnegative integer.

type comparison = int

The result of a comparison is encoded as an integer value. A negative value means "less than"; zero means "equal"; a positive value means "greater than".

Library API

module type ITER = sig ... end

The signature ITER is the core iterator API. It is common to ephemeral and persistent sequences. Please follow the link for details.

module type ITER_EPHEMERAL = sig ... end

The signature ITER_EPHEMERAL extends the iterator API with concepts and operations that exist only in the case of iterators over ephemeral sequences. Please follow the link for details.

module type SEK = sig ... end

The signature SEK is the public API of the library. If you are a new user, you do not need to follow this link: the library's API appears below anyway. Just read on!