type ('a, 'b) t
= ('a * 'b) list
val get : eq:('a ‑> 'a ‑> bool) ‑> 'a ‑> ('a, 'b) t ‑> 'b option
Find the element.
val get_exn : eq:('a ‑> 'a ‑> bool) ‑> 'a ‑> ('a, 'b) t ‑> 'b
Like get, but unsafe.
get
val set : eq:('a ‑> 'a ‑> bool) ‑> 'a ‑> 'b ‑> ('a, 'b) t ‑> ('a, 'b) t
Add the binding into the list (erase it if already present).
val mem : eq:('a ‑> 'a ‑> bool) ‑> 'a ‑> ('a, _) t ‑> bool
mem x l returns true iff x is a key in l.
mem x l
true
x
l
val update : eq:('a ‑> 'a ‑> bool) ‑> f:('b option ‑> 'b option) ‑> 'a ‑> ('a, 'b) t ‑> ('a, 'b) t
update k ~f l updates l on the key k, by calling f (get l k) and removing k if it returns None, mapping k to v' if it returns Some v'.
update k ~f l
k
f (get l k)
None
v'
Some v'
val remove : eq:('a ‑> 'a ‑> bool) ‑> 'a ‑> ('a, 'b) t ‑> ('a, 'b) t
remove x l removes the first occurrence of k from l.
remove x l