@@ -16,10 +16,14 @@ type +'a t = 'a list
1616val  empty  : 'a  t 
1717(* * [empty] is [[]]. *) 
1818
19+ [@@@ iflt 5.1 ]
20+ 
1921val  is_empty  : _  t  -> bool 
2022(* * [is_empty l] returns [true] iff [l = []].
2123    @since 0.11 *)  
2224
25+ [@@@ endif]
26+ 
2327val  cons_maybe  : 'a  option  -> 'a  t  -> 'a  t 
2428(* * [cons_maybe (Some x) l] is [x :: l].
2529    [cons_maybe None l] is [l]. 
@@ -127,11 +131,6 @@ val count_true_false : ('a -> bool) -> 'a list -> int * int
127131    that satisfy the predicate [p], and [int2] the number of elements that do not satisfy [p]. 
128132    @since 2.4 *)  
129133
130- val  init  : int  -> (int  -> 'a ) -> 'a  t 
131- (* * [init len f] is [f 0; f 1; …; f (len-1)].
132-     @raise Invalid_argument if len < 0. 
133-     @since 0.6 *)  
134- 
135134val  combine  : 'a  list  -> 'b  list  -> ('a  *  'b ) list 
136135(* * [combine [a1; …; an] [b1; …; bn]] is [[(a1,b1); …; (an,bn)]].
137136    Transform two lists into a list of pairs. 
@@ -161,25 +160,17 @@ val split : ('a * 'b) t -> 'a t * 'b t
161160    @since 1.2, but only 
162161    @since 2.2 with labels *)  
163162
163+ [@@@ iflt 4.12 ]
164+ 
164165val  compare  : ('a  -> 'a  -> int ) -> 'a  t  -> 'a  t  -> int 
165166(* * [compare cmp l1 l2] compares the two lists [l1] and [l2]
166167    using the given comparison function [cmp]. *)  
167168
168- val  compare_lengths  : 'a  t  -> 'b  t  -> int 
169- (* * [compare_lengths l1 l2] compare the lengths of the two lists [l1] and [l2].
170-     Equivalent to [compare (length l1) (length l2)] but more efficient. 
171-     @since 1.5, but only 
172-     @since 2.2 with labels *)  
173- 
174- val  compare_length_with  : 'a  t  -> int  -> int 
175- (* * [compare_length_with l x] compares the length of the list [l] to an integer [x].
176-     Equivalent to [compare (length l) x] but more efficient. 
177-     @since 1.5, but only 
178-     @since 2.2 with labels *)  
179- 
180169val  equal  : ('a  -> 'a  -> bool ) -> 'a  t  -> 'a  t  -> bool 
181170(* * [equal p l1 l2] returns [true] if [l1] and [l2] are equal. *) 
182171
172+ [@@@ endif]
173+ 
183174val  flat_map  : ('a  -> 'b  t ) -> 'a  t  -> 'b  t 
184175(* * [flat_map f l] maps and flattens at the same time (safe). Evaluation order is not guaranteed. *) 
185176
@@ -437,26 +428,28 @@ val find_pred : ('a -> bool) -> 'a t -> 'a option
437428    or returns [None] if no element satisfies [p]. 
438429    @since 0.11 *)  
439430
440- val  find_opt  : ('a  -> bool ) -> 'a  t  -> 'a  option 
441- (* * [find_opt p l] is the safe version of {!find}.
442-     @since 1.5, but only 
443-     @since 2.2 with labels *)  
444- 
445431val  find_pred_exn  : ('a  -> bool ) -> 'a  t  -> 'a 
446432(* * [find_pred_exn p l] is the unsafe version of {!find_pred}.
447433    @raise Not_found if no such element is found. 
448434    @since 0.11 *)  
449435
436+ [@@@ iflt 4.10 ]
437+ 
450438val  find_map  : ('a  -> 'b  option ) -> 'a  t  -> 'b  option 
451439(* * [find_map f l] traverses [l], applying [f] to each element. If for
452440    some element [x], [f x = Some y], then [Some y] is returned. Otherwise 
453441    the call returns [None]. 
454442    @since 0.11 *)  
455443
444+ [@@@ endif]
445+ [@@@ iflt 5.1 ]
446+ 
456447val  find_mapi  : (int  -> 'a  -> 'b  option ) -> 'a  t  -> 'b  option 
457448(* * [find_mapi f l] is like {!find_map}, but also pass the index to the predicate function.
458449    @since 0.11 *)  
459450
451+ [@@@ endif]
452+ 
460453val  find_idx  : ('a  -> bool ) -> 'a  t  -> (int  *  'a ) option 
461454(* * [find_idx p x] returns [Some (i,x)] where [x] is the [i]-th element of [l],
462455    and [p x] holds. Otherwise returns [None]. *)  
@@ -467,11 +460,6 @@ val remove : eq:('a -> 'a -> bool) -> key:'a -> 'a t -> 'a t
467460    @since 0.11 *)  
468461(*  FIXME: the original CCList.mli uses ~x instead of ~key !! *) 
469462
470- val  filter_map  : ('a  -> 'b  option ) -> 'a  t  -> 'b  t 
471- (* * [filter_map f l] is the sublist of [l] containing only elements for which
472-     [f] returns [Some e]. 
473-     Map and remove elements at the same time. *)  
474- 
475463val  keep_some  : 'a  option  t  -> 'a  t 
476464(* * [keep_some l] retains only elements of the form [Some x].
477465    Like [filter_map CCFun.id]. 
@@ -574,16 +562,6 @@ val group_succ : eq:('a -> 'a -> bool) -> 'a list -> 'a list list
574562
575563(* * {2 Indices} *) 
576564
577- val  mapi  : (int  -> 'a  -> 'b ) -> 'a  t  -> 'b  t 
578- (* * [mapi f l] is like {!map}, but the function [f] is applied to the index of
579-     the element as first argument (counting from 0), and the element 
580-     itself as second argument. *)  
581- 
582- val  iteri  : (int  -> 'a  -> unit ) -> 'a  t  -> unit 
583- (* * [iteri f l] is like {!val-iter}, but the function [f] is applied to the index of
584-     the element as first argument (counting from 0), and the element 
585-     itself as second argument. *)  
586- 
587565val  iteri2  : (int  -> 'a  -> 'b  -> unit ) -> 'a  t  -> 'b  t  -> unit 
588566(* * [iteri2 f l1 l2] applies [f] to the two lists [l1] and [l2] simultaneously.
589567    The integer passed to [f] indicates the index of element. 
@@ -758,14 +736,6 @@ val assoc_opt : eq:('a -> 'a -> bool) -> 'a -> ('a * 'b) t -> 'b option
758736    @since 1.5, but only 
759737    @since 2.0 with labels *)  
760738
761- val  assq_opt  : 'a  -> ('a  *  'b ) t  -> 'b  option 
762- (* * [assq_opt k alist] returns [Some v] if the given key [k] is present into [alist].
763-     Like [Assoc.assoc_opt] but use physical equality instead of structural equality 
764-     to compare keys. 
765-     Safe version of {!assq}. 
766-     @since 1.5, but only 
767-     @since 2.0 with labels *)  
768- 
769739val  mem_assoc  : ?eq : ('a  -> 'a  -> bool ) -> 'a  -> ('a  *  _ ) t  -> bool 
770740(* * [mem_assoc ?eq k alist] returns [true] iff [k] is a key in [alist].
771741    Like [Assoc.mem]. 
@@ -884,11 +854,6 @@ val to_iter : 'a t -> 'a iter
884854(* * [to_iter l] returns a [iter] of the elements of the list [l].
885855    @since 2.8 *)  
886856
887- val  to_seq  : 'a  t  -> 'a  Seq .t 
888- (* * [to_seq l] returns a [Seq.t] of the elements of the list [l].
889-     Renamed from [to_std_seq] since 3.0. 
890-     @since 3.0 *)  
891- 
892857val  of_iter  : 'a  iter  -> 'a  t 
893858(* * [of_iter iter] builds a list from a given [iter].
894859    In the result, elements appear in the same order as they did in the source [iter]. 
@@ -899,12 +864,6 @@ val of_seq_rev : 'a Seq.t -> 'a t
899864    Renamed from [to_std_seq_rev] since 3.0. 
900865    @since 3.0 *)  
901866
902- val  of_seq  : 'a  Seq .t  -> 'a  t 
903- (* * [of_seq seq] builds a list from a given [Seq.t].
904-     In the result, elements appear in the same order as they did in the source [Seq.t]. 
905-     Renamed from [of_std_seq] since 3.0. 
906-     @since 3.0 *)  
907- 
908867val  to_gen  : 'a  t  -> 'a  gen 
909868(* * [to_gen l] returns a [gen] of the elements of the list [l]. *) 
910869
0 commit comments