Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: Irrelevant variables in patterns
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <xleroy@p...>
Subject: Re: Irrelevant variables in patterns
> 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