package batteries

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Hash consing of data structures

type 'a hobj = private {
  1. obj : 'a;
  2. tag : int;
    (*

    Unique id for this object

    *)
  3. hcode : int;
    (*

    Hash code for this object

    *)
}

The type t hobj represents hashed objects of type t. A hashed object contains a unique tag and a hash code.

type 'a t = 'a hobj

A synonym for convenience

val compare : 'a hobj -> 'a hobj -> int

Comparison on the tags

module type Table = sig ... end

Hashcons tables

module MakeTable (HT : BatHashtbl.HashedType) : Table with type key = HT.t
module H : sig ... end

Hashing utilities