From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 686C6BBFB for ; Tue, 21 Jun 2005 13:34:41 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j5LBYfJN022778 for ; Tue, 21 Jun 2005 13:34:41 +0200 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 NAA29705 for ; Tue, 21 Jun 2005 13:34:40 +0200 (MET DST) Received: from yquem.inria.fr (yquem.inria.fr [128.93.8.37]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j5LBYeUf022775; Tue, 21 Jun 2005 13:34:40 +0200 Received: by yquem.inria.fr (Postfix, from userid 18041) id 5990DBBFB; Tue, 21 Jun 2005 13:34:40 +0200 (CEST) Date: Tue, 21 Jun 2005 13:34:40 +0200 To: Luca Pascali Cc: caml-list@inria.fr Subject: Re: [Caml-list] exception Failure and failwith Message-ID: <20050621113440.GA3794@yquem.inria.fr> References: <42B7D0FD.5090305@barettadeit.com> <20050621090740.GA10021@yquem.inria.fr> <42B7F6E2.3010508@yahoo.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <42B7F6E2.3010508@yahoo.it> User-Agent: Mutt/1.3.28i From: luc.maranget@inria.fr (Luc Maranget) X-Miltered: at concorde with ID 42B7FB51.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 42B7FB50.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 failwith:01 maranget:01 maranget:01 workarounds:01 exception:01 exception:01 luc:01 luc:01 types:02 module:03 module:03 perhaps:03 let:03 prim:05 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: > It's what I was afraid of. > I got it. Anyway let me make a consideration: It would be nice to have a > way (a fake module named Core,for example) to access the core types, > exception and definitions in case someone shadows the original one. Why not, but frankly, I am not sure this can be done easily. Besides, this would potentially break user code, for users who happen to have a module named 'Core'. > > exception Prim_Failure = Failure > > to get rid of any further shadowing. Good point which I missed. As a conclusion, it is clear that the management of the so-called 'built-ins' is somehow unfortunate, and that perhaps, not all built-ins, need to be so. However the behavior is properly documented and workarounds are available. Luc Maranget