---
name: "Ephemeron.K1.Make"
section: "3o"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Ephemeron.K1.Make"
---

# Ephemeron.K1.Make(3o)

Functor building an implementation of a weak hash table

## NAME

Ephemeron.K1.Make - Functor building an implementation of a weak hash table

## Module

Module   Ephemeron.K1.Make

## Documentation

Module **Make**\
  :  **(H : Hashtbl.HashedType) -\> sig end**

Functor building an implementation of a weak hash table

**Parameters:**

"H"

**Stdlib.Hashtbl.HashedType**

Propose the same interface as usual hash table. However since the bindings are weak, even if  **mem h k** is true, a subsequent **find h k** may raise  **Not\_found** because the garbage collector can run between the two.

*type key*

*type* **!'a** *t*

*val create* :  **int -\> 'a t**

*val clear* :  **'a t -\> unit**

*val reset* :  **'a t -\> unit**

*val copy* :  **'a t -\> 'a t**

*val add* :  **'a t -\> key -\> 'a -\> unit**

*val remove* :  **'a t -\> key -\> unit**

*val find* :  **'a t -\> key -\> 'a**

*val find\_opt* :  **'a t -\> key -\> 'a option**

*val find\_all* :  **'a t -\> key -\> 'a list**

*val replace* :  **'a t -\> key -\> 'a -\> unit**

*val mem* :  **'a t -\> key -\> bool**

*val length* :  **'a t -\> int**

*val stats* :  **'a t -\> Hashtbl.statistics**

*val add\_seq* :  **'a t -\> (key \* 'a) Seq.t -\> unit**

*val replace\_seq* :  **'a t -\> (key \* 'a) Seq.t -\> unit**

*val of\_seq* :  **(key \* 'a) Seq.t -\> 'a t**

*val clean* :  **'a t -\> unit**

remove all dead bindings. Done automatically during automatic resizing.

*val stats\_alive* :  **'a t -\> Hashtbl.statistics**

same as  **Hashtbl.SeededS.stats** but only count the alive bindings
