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 UAA22700 for caml-red; Mon, 20 Nov 2000 20:22:14 +0100 (MET) 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 JAA10629 for ; Mon, 20 Nov 2000 09:06:23 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id eAK86Mr16234 for ; Mon, 20 Nov 2000 09:06:22 +0100 (MET) Received: (from fpottier@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA04479; Mon, 20 Nov 2000 09:06:22 +0100 (MET) Message-ID: <20001120090622.02868@pauillac.inria.fr> Date: Mon, 20 Nov 2000 09:06:22 +0100 From: Francois Pottier To: caml-list@inria.fr Subject: Re: pourquoi y-a-t-il des exceptions? Reply-To: Francois.Pottier@inria.fr References: <3A1419FD.CE44DEA4@imag.fr> <20001117181744.49309@pauillac.inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 0.89.1 In-Reply-To: <20001117181744.49309@pauillac.inria.fr>; from Xavier Leroy on Fri, Nov 17, 2000 at 06:17:44PM +0100 Sender: weis@pauillac.inria.fr On Fri, Nov 17, 2000 at 06:17:44PM +0100, Xavier Leroy wrote: > > Cela ne poserait pas de problème au niveau du "raise", mais cela > poserait problème pour typer le "try...with..." ("handle" en SML). > En effet, la valeur de l'exception rattrapée serait alors d'un type > quelconque, inconnu statiquement, ce qui empêcherait d'en faire quoi > que ce soit dans la partie "with" du "try...with...", en particulier > de la filtrer. À moins d'annoter chaque fonction par le type des exceptions qu'elle est susceptible de renvoyer, de façon similaire à ce qui est fait dans la thèse de François Pessaux. Cela donne un système de types beaucoup plus fin et beaucoup plus lourd (au moins en termes de lisibilité). Cela dit, d'un point de vue purement opérationnel, on pourrait très bien considérer que `raise' est applicable à une valeur quelconque. Le seul langage répandu à avoir adopté ce point de vue est (à ma connaissance) C++... -- François Pottier Francois.Pottier@inria.fr http://pauillac.inria.fr/~fpottier/