package ocaml-base-compiler
The lexicographic order supported by the provided order. There is no constraint on the relative lengths of the lists.
Returns true
iff the given lists have the same length and content with respect to the given equality function.
val find_map : ('a -> 'b option) -> 'a t -> 'b option
find_map f l
returns the first evaluation of f
that returns Some
, or returns None if there is no such element.
If all elements of the given list are Some _
then Some xs
is returned with the xs
being the contents of those Some
s, with order preserved. Otherwise return None
.
let r1, r2 = map2_prefix f l1 l2
If l1
is of length n and l2 = h2 @ t2
with h2 of length n, r1 is List.map2 f l1 h1
and r2 is t2.
split_at n l
returns the pair before, after
where before
is the n
first elements of l
and after
the remaining ones. If l
has less than n
elements, raises Invalid_argument.
Returns true
iff the given list, with respect to the given equality function on list members, is a prefix of the list of_
.
val find_and_chop_longest_common_prefix :
equal:('a -> 'a -> bool) ->
first:'a list ->
second:'a list ->
'a longest_common_prefix_result
Returns the longest list that, with respect to the provided equality function, is a prefix of both of the given lists. The input lists, each with such longest common prefix removed, are also returned.