containers

A modular, clean and powerful extension of the OCaml standard library
Overview Documentation
IN THIS PACKAGE
Module CCList . Assoc
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.

  • 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, _ ) 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