sek

An efficient implementation of ephemeral and persistent sequences
README

This OCaml library offers an efficient implementation of sequences.

This data structure supports all of the standard operations on stacks, queues,
deques (e.g. push, pop at either end), catenable sequences (concat,
split), and random access sequences (get, set).

Data is stored internally in chunks (fixed-capacity arrays),
which is why this data structure is known as a chunk sequence.

This data structure comes in two flavors, namely an ephemeral (mutable) flavor
and a persistent (immutable) flavor, and offers constant-time conversions
between these flavors.

It is intended to achieve excellent time complexity and memory usage.

Installation

To install the latest released version, type:

  opam update
  opam install sek

To install the latest development version, type:

  git clone git@gitlab.inria.fr:fpottier/sek
  cd sek
  opam pin add sek .

To install the latest development version with debugging assertions enabled,
type:

  git clone git@gitlab.inria.fr:fpottier/sek
  cd sek
  make setup
  make install

Documentation

The documentation of the latest released
version

is available online.
Here are shortcuts to the
ephemeral sequence API,
the
persistent sequence API,
and the
conversion functions.

The documentation is built locally by make doc and can be viewed via make view.

The file play.ml allows playing with the library in the OCaml
toplevel loop.

Install
Published
27 May 2021
Sources
archive.tar.gz
md5=9f6928616982931247b976d6ffe26b21
sha512=26e61a6d4a985ffba16f21933c7702b246f41e7f9ad4768fecb8235fd95c26a02ad19708de9b2fcab5ef58c3796d41877df3fe050ba44aa77c615d42db8f8791
Dependencies
monolith
dev & >= "20201026"
pprint
>= "20200410"
dune
>= "2.0"
ocaml
>= "4.03"
Reverse Dependencies