let rec ack = function n -> function m -> if (n = 0) then m + 1 else if (m = 0) then ack (n - 1) 1 else ack (n - 1) (ack n (m - 1)) ;;
let min_list = function l -> match l with | [] -> failwith "Liste vide" | h::t -> it_list min h t ;;Équivalent à
let min_list = let rec aux = function m -> function | [] -> m | h::t -> if (h < m) then aux h t else aux m t in function l -> match l with | [] -> failwith "Liste vide" | h::t -> aux h t ;;