Re: pattern matching

From: Stefan Monnier (monnier+/news/lists/caml@TEQUILA.SYSTEMSZ.CS.YALE.EDU)
Date: Tue May 06 1997 - 21:59:37 MET DST


To: caml-list@inria.fr
From: Stefan Monnier <monnier+/news/lists/caml@TEQUILA.SYSTEMSZ.CS.YALE.EDU>
Subject: Re: pattern matching
Date: 06 May 1997 15:59:37 -0400

Olivier Montanuy <montanuy@lannion.cnet.fr> writes:
> > Par ailleurs, il arrive quelquefois que l'on fasse volontairement des
> > pattern-matching incomplets, parce que le programme est tel que les
> > cas non fournis ne peuvent arriver.
> Un programme, ca evolue, et ce qui est vrai aujourd'hui risque de
> ne plus l'etre si une autre personne doit retoucher le code.

Pour ces cas là, il serait bien d'avoir une analyse suffisante qui détermine
"oh, ben, dit donc, il manque un cas dans le pattern-matching, mais c'est un
cas impossible alors j'vais rien dire". Comme ça, on évite les warnings (pour
autant que l'analyse est suffisamment maline) mon on a quand même
l'avertissement si qqun change le code.

Un tel système avait plus ou moins été développé pour SML/NJ sous le nom de
refinement-types (quoi que c'était pas tout à fait automatique).

Le compilateur Scheme "Stalin" utilise aussi un système similaire pour
déterminer quelle représentation choisir (éviter les tags quand ils ne
sont pas nécessaires).

        Stefan

-------------------
Version anglophone:

Freeman's refinement-types and other less-sophisticated analysis can get you
the best of both worlds by figuring out that a warning is not necessary
(because the case cannot happen) so that if you change the code, the warning
will reappear if the case becomes possible.

        Stefan



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:10 MET