Module BatList.Exceptionless

module Exceptionless: sig .. end

Exceptionless counterparts for error-raising operations


val find : ('a -> bool) -> 'a list -> 'a option

find p l returns Some x where x is the first element of l such as p x returns true or None if such an element has not been found.

val rfind : ('a -> bool) -> 'a list -> 'a option

rfind p l returns Some x where x is the last element of l such that p x returns true or None if such element as not been found.

val findi : (int -> 'a -> bool) -> 'a list -> (int * 'a) option

findi p l returns Some (i, ai) where ai and i are respectively the first element of l and its index, such that p i ai is true, or None if no such element has been found.

val split_at : int -> 'a list -> [ `Invalid_argument of string | `Ok of 'a list * 'a list ]

Whenever n is inside of l size bounds, split_at n l returns Ok(l1,l2), where l1 contains the first n elements of l and l2 contains the others. Otherwise, returns `Invalid_argument n.

val at : 'a list -> int -> [ `Invalid_argument of string | `Ok of 'a ]

If n is inside the bounds of l, at l n returns Ok x, where x is the n-th element of the list l. Otherwise, returns Error
      (`Invalid_argument(n))
.

val assoc : 'a -> ('a * 'b) list -> 'b option

assoc a l returns Some b where b is the value associated with key b in the list of pairs l. That is, assoc a [ ...; (a,b); ...] = Some b if (a,b) is the leftmost binding of a in list l. Return None if there is no value associated with a in the list l.

val assoc_inv : 'b -> ('a * 'b) list -> 'a option

assoc_inv b l returns Some a where a is the key associated with value b in the list of pairs l. That is, assoc b [ ...; (a,b); ...] = Some a if (a,b) is the leftmost binding of a in list l. Return None if there is no key associated with b in the list l.

val assq : 'a -> ('a * 'b) list -> 'b option

As BatList.Exceptionless.assoc but with physical equality.

val find_map : ('a -> 'b option) -> 'a list -> 'b option

find_map f xs returns Some y such that x is the first element of the list where f x returns Some y. It returns None if no such element exists.

val hd : 'a list -> 'a option

hd l returns Some x such that x is the first element of the given list l. Returns None if list l is empty.

val tl : 'a list -> 'a list option

tl l returns Some x such that x is the given list l without its first element. Returns None if list l is empty.

val last : 'a list -> 'a option

last l returns either Some x where x is the last element of the list, or None if the list is empty. This function takes linear time.