Ephemeron.Ge...le.MakeSeeded(3)

πŸ’– NAME πŸ’–

okay so bestie, welcome to the OCaml library manual β€” this page is Ephemeron.Ge...le.MakeSeeded(3) (yes the title got truncated by the terminal, we love a dramatic ellipsis πŸ’€) and it's about:

Ephemeron.GenHashTable.MakeSeeded β€” a functor that builds you an implementation of a hash table, one that uses the container for keeping the information you gave it. that's the whole name, that's the whole vibe. ✨


πŸ¦‹ Module πŸ¦‹

Module Ephemeron.GenHashTable.MakeSeeded

literally the module we're talking about, no notes πŸ’…


✨ Documentation ✨

πŸŽ€ Module MakeSeeded πŸŽ€

here's the signature, copied exactly because I do not play about types:

Module MakeSeeded
 : functor (H : sig end) -> sig end

so what is it? it's a functor building an implementation of a hash table that uses the container for keeping the information given. that's the official description, she ate and left no crumbs 🫢

πŸ’… Parameters πŸ’…

  • "H" β€” its type is sig end. that's it. that's the parameter. a whole parameter and it's giving absolutely nothing (affectionate) πŸ™ˆ

πŸ“ Types πŸ“

  • type key β€” the key type. iconic. πŸ’œ
  • type 'a t β€” the table type itself, parameterised over 'a. main character energy fr fr 🌟

🌈 Values 🌈

no descriptions in the source for these, so I'm just handing you the signatures exactly as they are β€” take them, they're yours, don't lose them:

  • val create : ?random:bool -> int -> 'a t β€” here's your constructor, with an optional ?random:bool and an int πŸ’–
  • val clear : 'a t -> unit β€” clear, unit-returning, as advertised 🧚
  • val reset : 'a t -> unit β€” reset, also unit-returning ✨
  • val copy : 'a t -> 'a t β€” copy gives you another 'a t πŸŽ€
  • val add : 'a t -> key -> 'a -> unit β€” add takes the table, a key, a 'a, returns unit 🌸
  • val remove : 'a t -> key -> unit β€” remove takes the table and a key, returns unit πŸ’€
  • val find : 'a t -> key -> 'a β€” find gives you back a 'a πŸ¦‹
  • val find_opt : 'a t -> key -> 'a option β€” the option-flavoured one: 'a option πŸ‘‘
  • val find_all : 'a t -> key -> 'a list β€” find_all, and yes it's a 'a list 🌈
  • val replace : 'a t -> key -> 'a -> unit β€” replace takes table, key, 'a, and returns unit ⭐
  • val mem : 'a t -> key -> bool β€” mem and it's a bool, obviously πŸ’…
  • val iter : (key -> 'a -> unit) -> 'a t -> unit β€” iter with that function argument (key -> 'a -> unit) and then the table, returns unit πŸ”₯
  • val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit β€” filter_map_inplace, function goes (key -> 'a -> 'a option), then the table, returns unit πŸ“
  • val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b β€” fold, with (key -> 'a -> 'b -> 'b), the table, a 'b, and a 'b comes back out 🧚
  • val length : 'a t -> int β€” length, returns an int πŸ’œ
  • val stats : 'a t -> Hashtbl.statistics β€” stats, returns Hashtbl.statistics ✨
  • val to_seq : 'a t -> (key * 'a) Seq.t β€” to_seq, gives you (key * 'a) Seq.t 🌸
  • val to_seq_keys : 'a t -> key Seq.t β€” to_seq_keys, gives you key Seq.t πŸŽ€
  • val to_seq_values : 'a t -> 'a Seq.t β€” to_seq_values, gives you 'a Seq.t πŸ¦‹
  • val add_seq : 'a t -> (key * 'a) Seq.t -> unit β€” add_seq takes a table and a (key * 'a) Seq.t, returns unit πŸ‘‘
  • val replace_seq : 'a t -> (key * 'a) Seq.t -> unit β€” replace_seq, same shape: table plus (key * 'a) Seq.t, returns unit 🌈
  • val of_seq : (key * 'a) Seq.t -> 'a t β€” of_seq builds you an 'a t out of a (key * 'a) Seq.t ⭐

πŸ”₯ The two with actual notes πŸ”₯

  • val clean : 'a t -> unit β€” remove all dead bindings. and lowkey important: this is done automatically during automatic resizing. so you don't have to, but you can. πŸ’…
  • val stats_alive : 'a t -> Hashtbl.statistics β€” same as Hashtbl.SeededS.stats but it only counts the alive bindings. undead bindings do not get a vote πŸ™ˆ

ngl bestie, if you're reaching for clean manually, the resize was gonna handle it anyway β€” but you do you, queen πŸ‘‘

that's the whole page!! this little gift was brought to you by OCamldoc, dated 2026-09-24, filed under Ephemeron.Ge...le.MakeSeeded(3) in the OCaml library manual. go forth and hash, bestie πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from
  • alpine 3.24: ocaml-doc 4.14.4-r0 Β· LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms