Batteries user guide : BatLazyList.Exceptionless

# Module BatLazyList.Exceptionless

    module Exceptionless: sig .. end

Exceptionless counterparts for error-raising operations

    val find : ('a -> bool) -> 'a BatLazyList.t -> 'a option

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

    val rfind : ('a -> bool) -> 'a BatLazyList.t -> '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 BatLazyList.t -> (int * 'a) option

`findi p e 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 rfindi : (int -> 'a -> bool) -> 'a BatLazyList.t -> (int * 'a) option

`findi p e l` returns `Some (i, ai)` where `ai` and `i` are respectively the last 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 BatLazyList.t ->
           [ `Invalid_index of int | `Ok of 'a BatLazyList.t * 'a BatLazyList.t ]

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_index n`

    val at : 'a BatLazyList.t -> int -> [ `Invalid_index of int | `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 ``Invalid_index n`.

    val assoc : 'a -> ('a * 'b) BatLazyList.t -> 'b option

`assoc a l` returns `Some b` where `b` is the value associated with key `a` 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 assq : 'a -> ('a * 'b) BatLazyList.t -> 'b option

As `BatLazyList.Exceptionless.assoc` but with physical equality