[ANN] Aches.1.0.0, Ringo.1.0.0

Version 1.0.0 of the Aches and Ringo libraries have just been released.

Aches provide various caches (Sets, Maps) with various policies (FIFO/LIFO, Strong/Weak, etc.). It also makes a distinctions between value caches (caches for in-memory values which are ultimately cleaned by the GC) and resource caches (caches which model resources such as file-descriptors which need some cleaning-up), providing different mechanisms for retrieval to help ensure all resources are properly cleaned as needed.

Ringo is a support library for Aches which may also be of interest to other developers. It provides doubly-linked lists and rings.

Finally, the Aches-lwt library provides caches for values which can take some time to obtain, in the form of Lwt promises — for instance, the content of a file stored on a remote machine.

This is the first stable release of Ringo, Aches, and Aches-lwt; future versions will adhere to the semantic versioning scheme.

The libraries are used within the Tezos project. They are hosted on a single repository on Gitlab under the MIT License. They are distributed on opam.

12 Likes