(* Multiplication des éléments d'une liste d'entiers,
   en s'arrêtant dès qu'on trouve un 0. *)

(* On lève l'exception Exit dès qu'on rencontre la valeur 0 *)

let rec mult = function
  | []     -> 1
  | 0 :: _ -> raise Exit
  | x :: l -> x * mult l

let mult l =
  try mult l with Exit -> 0

(* Voir aussi l'exercice 2.18 pour une amélioration orthogonale. *)

This document was generated using caml2html