From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by pauillac.inria.fr; Mon, 30 May 94 12:00:51 +0200 Received: from margaux.inria.fr by pauillac.inria.fr; Mon, 30 May 94 10:53:32 +0200 Received: from pauillac.inria.fr by margaux.inria.fr, Mon, 30 May 1994 10:53:31 +0200 Received: by pauillac.inria.fr; Mon, 30 May 94 10:53:30 +0200 From: Xavier Leroy Message-Id: <9405300853.AA03760@pauillac.inria.fr> Subject: Re: Irrelevant variables in patterns To: Judicael.Courant@lip.ens-lyon.fr (Judicael Courant) Date: Mon, 30 May 1994 10:53:30 +0200 (MET DST) Cc: caml-list@margaux.inria.fr In-Reply-To: <9405261303.AA13138@lip.ens-lyon.fr> from "Judicael Courant" at May 26, 94 03:03:32 pm X-Mailer: ELM [version 2.4 PL21] Content-Type: text/plain Sender: weis@pauillac.inria.fr > 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 ? Si, mais ca gene ceux d'entre nous qui aiment documenter leur programme en nommant les feuilles des motifs, et par exemple preferent ecrire map (fun (key, data) -> data) the_a_list plutot que map (fun (_, data) -> data) the_a_list Quant a la remarque de Christophe Raffalli: > La solution serait plutot de fournir un warning lorsque l'on capture toutes > les exception, car cela est un bug dans 99% des cas (on ne veut pas attraper > Catch_break ou Out_of_memory en general). Ce n'est pas un bug lorsqu'on veut faire de la "finalisation": try ... with exc -> finalize(); raise exc C'est meme de l'excellent style. Par exemple: let oc = open_out "foo" in try ...; close_out oc with exc -> close_out oc; sys__remove "foo"; raise exc - Xavier Leroy