From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr 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 6CA11BC69 for ; Thu, 16 Aug 2007 16:54:32 +0200 (CEST) Received: from ik-out-1112.google.com (ik-out-1112.google.com [66.249.90.180]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l7GEsVOW012330 for ; Thu, 16 Aug 2007 16:54:32 +0200 Received: by ik-out-1112.google.com with SMTP id c21so37918ika for ; Thu, 16 Aug 2007 07:54:31 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=JW9YJKJCi0IUccIPAZVJq2fbbrFj9tzVOZaCoPeq48+LqFURt6dkd3/416NJLHEdFetGV4Jc5lostSOwUl68GiGCfqY5cPnLn1dsS0DhQaW/bSGgSyeD3zsonXjbTZJykDrnv+dvsDBU2l4KrJYlfMYCEMFdmDkD6qzvPVmyMSg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=MfOun6WIHJyGxeTTvi4NivWU4RnbXTrZnPBj6dtCNMr23B8KnVieerVlc7yhhmr1HYzI3gviCE9uK2Zua7+OIRaqpglgEfkjtEG7mwLv0efr1e9RcLY6596BOmx2AxGvmwWJ/lkmsCp0RvdfdfJPACsOwWDD0FxCl/wJ69s/cjI= Received: by 10.142.212.19 with SMTP id k19mr97205wfg.1187276063516; Thu, 16 Aug 2007 07:54:23 -0700 (PDT) Received: by 10.142.89.5 with HTTP; Thu, 16 Aug 2007 07:54:23 -0700 (PDT) Message-ID: Date: Thu, 16 Aug 2007 10:54:23 -0400 From: "Markus Mottl" To: "Jon Harrop" Subject: Re: [Caml-list] Weak hash table for attaching extra data to an object Cc: caml-list@yquem.inria.fr In-Reply-To: <200708150133.23573.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20070814101535.GA14485@furbychan.cocan.org> <200708142144.15414.jon@ffconsultancy.com> <20070814230940.GB11589@takhisis.invalid> <200708150133.23573.jon@ffconsultancy.com> X-j-chkmail-Score: MSGID : 46C46527.002 on concorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at concorde with ID 46C46527.002 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; markus:01 mottl:01 markus:01 mottl:01 hash:01 ocaml:01 wrote:01 abstract:01 exception:01 caml-list:01 data:02 modules:02 parameter:02 parameter:02 constraints:03 On 8/14/07, Jon Harrop wrote: > Yes. Laterally, the point can be addressed by making library writers aware of > the points that I made. I think Markus Mottl once said that all libraries > should include phantom types... Well, I don't know in what context I said this, but one can certainly always create modules that are equivalent to another one with the exception of some abstract type taking an extra type parameter. This extra parameter could then capture additional constraints on the use of values of that type. In that sense it is not necessary that every library make use of phantom types. Regards, Markus -- Markus Mottl http://www.ocaml.info markus.mottl@gmail.com