1. Overview
  2. Docs
Snapshottable push-only queues

Install

dune-project
 Dependency

Authors

Maintainers

Sources

store-v0.2.tar.bz2
sha512=42d6c7a850a7ac113c5470d6ebe9b5a160a9aa57d009b7eda17a14cda5a54a1dcecd146281322da70579bab08ede70ebe23aa5c48cc3ad3c2c90098424fafbb7

Description

Added to opam-repository:

README

Store: Snapshottable Data Structures

Store is a library to add snapshotting capabilities to imperative data structure with a low runtime cost and safe, user-friendly APIs. It is designed for (and works best with) applications that exploit backtracking algorithms, such as SMT solvers, type-checking and type-inference algorithms.

References

The design and implementation of snapshottable references is described in the ICFP'24 paper:

We then added support for "storable types", which let users add backtracking logic for their own, custom data structures. This is described in the JFLA'26 paper:

Documentation

The core of the data structure, including snapshottable references and mechanisms for user-defined storable types, are documented in store/store.mli.

We also offer the following broadly useful storable types:

Dependencies (3)

  1. store >= "0.2"
  2. ocaml >= "5.2"
  3. dune >= "3.7"

Dev Dependencies (2)

  1. odoc with-doc
  2. monolith with-test

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building store-pushqueue with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.1 (this version) n/a n/a good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure