Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 850 Bytes

File metadata and controls

18 lines (15 loc) · 850 Bytes

Storage

This repository contains:

  • Typeclass containing basic interface of the key-value storage and its properties: LibTx.Storage.Storage (It doesn’t include any methods for enumerating the keys)
  • Definition of storage equivalence
  • LibTx.Storage.KeysSnapshot class that implements one possible method of enumerating the keys: by returning list of all keys, think something along the lines of (level|rocks)db snapshot feature
  • Some tactics that simplify chains of write/delete/get operations
  • Wlog type describing write-ahead log (WAL)
  • Wlog equivalence definition
  • Some theorems related to Wlog equivalence

Instances:

  • LibTx.Storage.Instances.List: pure storage instance based on flat lists
  • LibTx.Storage.Instances.AVL: pure storage instance based on AVL-tree (wrapper over FMapAVL from the standard library)