module Assoc: sig
.. end
type ('a, 'b)
t = ('a * 'b) list
val get : ?eq:('a -> 'a -> bool) -> ('a, 'b) t -> 'a -> 'b option
Find the element
val get_exn : ?eq:('a -> 'a -> bool) -> ('a, 'b) t -> 'a -> 'b
Same as get
Raises Not_found
if the element is not present
val set : ?eq:('a -> 'a -> bool) ->
('a, 'b) t -> 'a -> 'b -> ('a, 'b) t
Add the binding into the list (erase it if already present)
val mem : ?eq:('a -> 'a -> bool) -> ('a, 'b) t -> 'a -> bool
mem l x
returns true
iff x
is a key in l
Since 0.16
val update : ?eq:('a -> 'a -> bool) ->
('a, 'b) t ->
'a -> f:('b option -> 'b option) -> ('a, 'b) t
update l k ~f
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, 'b) t -> 'a -> ('a, 'b) t
remove l k
removes the first occurrence of k
from l
.
Since 0.17