From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id QAA05436 for caml-redistribution; Fri, 10 Sep 1999 16:54:17 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA26982 for ; Fri, 10 Sep 1999 09:54:02 +0200 (MET DST) Received: from margaux.inria.fr (margaux.inria.fr [128.93.8.2]) by concorde.inria.fr (8.8.7/8.8.7) with ESMTP id JAA29041; Fri, 10 Sep 1999 09:53:59 +0200 (MET DST) Received: (from maranget@localhost) by margaux.inria.fr (8.7.6/8.7.3) id JAA09416; Fri, 10 Sep 1999 09:53:58 +0200 (MET DST) From: Luc Maranget Message-Id: <199909100753.JAA09416@margaux.inria.fr> Subject: Re: Report a missing match In-Reply-To: <39ADCF833E74D111A2D700805F1951EF1801418B@RED-MSG-06> from Don Syme at "Sep 9, 99 09:12:37 am" To: dsyme@microsoft.com (Don Syme) Date: Fri, 10 Sep 1999 09:53:58 +0200 (MET DST) Cc: caml-list@inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: weis > > > Hi, > > It would be very helpful for me if the Caml compiler could report at least > one missing match case when it says a match is non-exhaustive. Is this > feasible to implement fairly painlessly? When working with very large > datatypes, e.g. 100 constructors, it's very hard to know which case has been > missed... > > Thanks, > Don > Hi, Conceptually, this is not that difficult to do, since the compiler look for non-exhautive matches by enumerating possible non-matching values. In practice, I have to see a little and have no time for that now... I put this on a personnal TODO list. --Luc Maranget