Irrelevant variables in patterns

Judicael Courant (Judicael.Courant@lip.ens-lyon.fr)
Thu, 26 May 94 15:03:32 +0200

Date: Thu, 26 May 94 15:03:32 +0200
From: Judicael.Courant@lip.ens-lyon.fr (Judicael Courant)
Message-Id: <9405261303.AA13138@lip.ens-lyon.fr>
To: caml-list@margaux.inria.fr
Subject: Irrelevant variables in patterns

Bonjour,

j'ai perdu un (gros) bout de temps sur le (stupide) bug suivant :

j'avais ecrit :

try (f x) with NotFound -> raise toto

au lieu de :

try (f x) with Not_found -> raise toto

Resultat : lorsqu'une exception etait levee dans l'evaluation de (f x),
elle etait toujours rattrappee. Pourtant, si j'avais voulu rattrapper toutes les exceptions, il aurait ete beaucoup plus naturel
d'ecrire :

try (f x) with _ -> raise toto

De maniere generale, le compilateur ne pourrait-il pas fournir un "Warning : irrelevant variable xxx in pattern yyy" lorsque qu'une variable liee dans un motif n'est pas utilisee ?

Judicael Courant.