package store
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=42d6c7a850a7ac113c5470d6ebe9b5a160a9aa57d009b7eda17a14cda5a54a1dcecd146281322da70579bab08ede70ebe23aa5c48cc3ad3c2c90098424fafbb7
doc/README.html
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:
- store-dict: snapshottable dictionaries (/ hashtables)
- store-pushqueue: a snapshottable push-only queue