package sek
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=56c31c65f3b0431943218f58d0ebda99
sha512=dfe7886d046c119780a196e17ac7efa8e989bcef3743f01d08d9aabc871fdc6b59d16b7445d01b30d3eb1bf4addca6c46e283065ff207ff4354a2ce6af245be7
doc/README.html
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 sekTo 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 installDocumentation
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.
Development Guidelines
To retrieve and compile the source code, type:
git clone git@gitlab.inria.fr:fpottier/sek
make setup
makeTo set up an opam switch that allows testing Sek, type this (only once):
make -C fuzz setupThe switch that is used for testing is named in the file fuzz/default.switch.
You must also install AFL.
Then, to test the library using afl-fuzz, type:
make test
# This command runs forever; interrupt it with Ctrl+C when you wish