2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
16 let rec list_sub_strict f l1 l2 = match l1, l2 with
18 | _ :: tl1, _ :: tl2 -> list_sub_strict f tl1 tl2
21 let rec list_fold_left f map a = function
24 let f a = list_fold_left f map a tl in
27 let rec list_rev_map_append f map ~tail = function
30 let f hd = list_rev_map_append f map ~tail:(hd :: tail) tl in
33 let list_rev_append f =
34 list_rev_map_append f (fun f t -> f t)
37 list_rev_map_append ~tail:[]
40 list_rev_append ~tail:[]
43 list_rev_map (list_rev f)