package store

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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: