2
let rec index_rec i = function
3
| [] -> raise Not_found
4
| b :: l -> if a = b then i else index_rec (succ i) l in
7
let flat l = List.fold_left ( @) [] l;;
13
let rec subtract_e = function
16
if List.mem elem e then subtract_e l else elem :: subtract_e l in
20
let rec make_set = function
22
| x :: l -> if List.mem x l then make_set l else x :: make_set l
26
let rec except_n_l n = function
28
| (elem :: l) -> if n = 0 then l else elem :: except_n_l (n - 1) l in
29
fun l n -> except_n_l n l