module Assoc: sig
.. end
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
Same as get
, but unsafe
Raises Not_found
if the element is not present
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, 'b) t -> bool
mem x l
returns true
iff x
is a key in l
Since 0.16
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'
Since 0.16
val remove : ?eq:('a -> 'a -> bool) ->
'a -> ('a, 'b) t -> ('a, 'b) t
remove x l
removes the first occurrence of k
from l
.
Since 0.17