diff options
Diffstat (limited to 'lib/util.ml')
| -rw-r--r-- | lib/util.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index 59f119a50c..0cab4540e2 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -207,6 +207,12 @@ let list_map_append f l = List.flatten (List.map f l) let list_map_append2 f l1 l2 = List.flatten (List.map2 f l1 l2) +let list_share_tails l1 l2 = + let rec shr_rev acc = function + | ((x1::l1), (x2::l2)) when x1 == x2 -> shr_rev (x1::acc) (l1,l2) + | (l1,l2) -> (List.rev l1, List.rev l2, acc) + in + shr_rev [] (List.rev l1, List.rev l2) (* Arrays *) |
