type 'a pile = 'a list ref;;
let créer() = ref [];;
let ajouter x p = p := x :: !p;;
exception Vide;;
let retirer p = 
  match !p with
  | [] -> raise Vide
  | x::t -> p:= t; x;;