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 ;;