package sek

  1. Overview
  2. Docs
An efficient implementation of ephemeral and persistent sequences

Install

Dune Dependency

Authors

Maintainers

Sources

archive.tar.gz
md5=9f6928616982931247b976d6ffe26b21
sha512=26e61a6d4a985ffba16f21933c7702b246f41e7f9ad4768fecb8235fd95c26a02ad19708de9b2fcab5ef58c3796d41877df3fe050ba44aa77c615d42db8f8791

Description

Published: 27 May 2021

README

Sek

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.

Dependencies (5)

  1. seq
  2. pprint >= "20200410"
  3. cppo
  4. dune >= "2.0"
  5. ocaml >= "4.03"

Dev Dependencies (1)

  1. monolith dev & >= "20201026"

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.