Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Pattern matching
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Diego Olivier Fernandez Pons <FernandezPons@i...>
Subject: [Caml-list] Warnings possibles
La question du filtrage semble tranchée. Essayons une proposition qui
se veut constructive :

- Est-il possible d'avoir un warning quand on masque une variable lors
d'un filtrage ?
- Est-il possible (je veux dire est-ce réalisable ? difficile ? utile
?...) de signaler que deux motifs ne sont pas exclusifs

let f = function
  | (0,1) -> 1
  | (x,1) -> x
  | (1,y) -> y
  | _ -> 1

# Attention les motifs (x,1) et (1,y) ne sont pas disjoints par
exemple (1,1)

Je suppose qu'il doit y avoir des problèmes liés au motif universel _
(que l'on pourrait peut-être ignorer)

let f = function (x,y) ->
 match (x,y) with
  | (0,1) -> 1
  | (_,1) -> x
  | (1,_) -> y
  | _ -> 1
;;

ok !

(la superposition de motifs est ignorée car on utilise _ qui est
ignoré sauf pour le dernier qui assure que tous les cas sont traités)
Peut-être un flag "pedantic" comme en C pour avoir ces avertissements
là ?

        Diego Olivier



-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr