From d6b7131fd87ac1eab730ae01fbddb5c635537dda Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Sat, 22 Aug 2015 23:49:17 +0200 Subject: [PATCH] alias `group_succ_by`, deprecated `group` --- sequence.ml | 4 +++- sequence.mli | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/sequence.ml b/sequence.ml index 76572a0..1401c8d 100644 --- a/sequence.ml +++ b/sequence.ml @@ -238,7 +238,7 @@ let sort ?(cmp=Pervasives.compare) seq = let l = List.fast_sort cmp l in fun k -> List.iter k l -let group ?(eq=fun x y -> x = y) seq k = +let group_succ_by ?(eq=fun x y -> x = y) seq k = let cur = ref [] in seq (fun x -> match !cur with @@ -251,6 +251,8 @@ let group ?(eq=fun x y -> x = y) seq k = (* last list *) if !cur <> [] then k !cur +let group = group_succ_by + let uniq ?(eq=fun x y -> x = y) seq k = let has_prev = ref false and prev = ref (Obj.magic 0) in (* avoid option type, costly *) diff --git a/sequence.mli b/sequence.mli index 5f73abf..4104b02 100644 --- a/sequence.mli +++ b/sequence.mli @@ -215,7 +215,14 @@ val sort_uniq : ?cmp:('a -> 'a -> int) -> 'a t -> 'a t (** Sort the sequence and remove duplicates. Eager, same as [sort] *) val group : ?eq:('a -> 'a -> bool) -> 'a t -> 'a list t - (** Group equal consecutive elements. *) + (** Group equal consecutive elements. + @deprecated use {!group_succ_by} *) + +val group_succ_by : ?eq:('a -> 'a -> bool) -> 'a t -> 'a list t + (** Group equal consecutive elements. + Synonym to {!group}. + @since NEXT_RELEASE *) + val uniq : ?eq:('a -> 'a -> bool) -> 'a t -> 'a t (** Remove consecutive duplicate elements. Basically this is