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
.