Ringo

Caches (bounded-size key-value stores) and other bounded-size collections.

Cache

A cache (Sigs.CACHE) is a module that implements a key-value imperative store. A cache is bounded in size – meaning that inserting bindings beyond the cache capacity removes other bindings – hash-table-like data-structure – meaning that it holds key-value bindings.

The specific behaviour of the cache is controlled by different options. Specifically, the replacement policy (which bindings are removed when supernumerary bindings are inserted), the overflow policy (when are bindings removed), the accounting policy (how precisely are bindings counted), and the capacity (how many elements a cache can hold), are all controlled by parameters.

Cache parameters

Ring, Dll

Both rings and dlls are bounded-size imperative collections. They are similar to caches but they hold values rather than bindings – meaning there is no find function – and they are dumber – meaning there is no fine control over their specific behaviour.

They are used internally to implement some components of the caches. They are exposed because they can be useful.