From: Xavier Leroy <xleroy@pauillac.inria.fr>
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)
In-Reply-To: <9405261303.AA13138@lip.ens-lyon.fr> from "Judicael Courant" at May 26, 94 03:03:32 pm
> 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