let rec sort = function | []->[] | tete::[]->[tete] | tete::queue -> ( (sort (List.filter (function x -> x < tete) queue )) @ [tete]) @ (sort (List.filter (function x -> x >= tete) queue ));;