package ringo

  1. Overview
  2. Docs

Ringo

Ringo is a library for bounded-length collections.

Generic collections

module type UNBOXED_COLLECTION = sig ... end

Ring is a potentially useful module that is used internally to manage bounded, FIFO collections of items. The documentation is available in UNBOXED_COLLECTION.

Dll is a potentially useful module that is used internally to manage bounded, LRU collections of items. The documentation is available in UNBOXED_COLLECTION.

module type UNBOXED_WEIGHTED_COLLECTION = sig ... end

Weighted_Dll is similar to Dll but comes with a notion of data weight as capacity instead of being based on the number of elements. The documentation is available in UNBOXED_WEIGHTED_COLLECTION.

Cache-oriented collections

module type COLLECTION = sig ... end
module LRU_Collection : sig ... end

LRU_Collection is a COLLECTION meant to be used as a building block in a cache: specifically a cache with a Least-Recently Used replacement policy.

module FIFO_Sloppy_Collection : sig ... end

FIFO_Sloppy_Collection is a COLLECTION meant to be used as a building block in a cache: specifically a cache with a First In First Out replacement policy.

module FIFO_Precise_Collection : sig ... end

FIFO_Precise_Collection is a COLLECTION meant to be used as a building block in a cache: specifically a cache with a First In First Out replacement policy.

module type WEIGHTED_COLLECTION = sig ... end

Weighted_LRU_Collection is similar to LRU_Collection but comes with a notion of data weight as capacity instead of being based on the number of elements.

OCaml

Innovation. Community. Security.