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.7 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 5BA1CBB84 for ; Fri, 18 Jul 2008 19:36:57 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArwAANhxgEjOvjGwgWdsb2JhbACSPQEBCwUCBgcRA5w5 X-IronPort-AV: E=Sophos;i="4.31,211,1215381600"; d="scan'208";a="27465727" Received: from web54606.mail.re2.yahoo.com ([206.190.49.176]) by mail4-smtp-sop.national.inria.fr with SMTP; 18 Jul 2008 19:36:36 +0200 Received: (qmail 53510 invoked by uid 60001); 18 Jul 2008 17:36:34 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=uXNnwyquacVquEIKm7xBlEZCb8sASioi749AebPuTRxoCY32Vgc8GGxrOVC2+et40SwXFVrF1tfS/P4RqzJWN7Lpzx8R5BvG1Dn0HD4lh5KcrbowWoSz0qZBWYVy3f2Mxhf6dl2hcguN0Vgjnt6Ya4YEEDxqwp0rEXaIDxfVSM0=; Received: from [212.13.62.177] by web54606.mail.re2.yahoo.com via HTTP; Fri, 18 Jul 2008 10:36:34 PDT X-Mailer: YahooMailWebService/0.7.218 Date: Fri, 18 Jul 2008 10:36:34 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Troublesome nodes To: caml-list@yquem.inria.fr In-Reply-To: <299457.46023.qm@web54602.mail.re2.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <816005.53409.qm@web54606.mail.re2.yahoo.com> X-Spam: no; 0.00; nodes:01 node:01 sig:01 node:01 struct:01 sig:01 struct:01 cheers:01 rec:01 rec:01 caml-list:01 constructor:01 constraint:01 constraint:01 behaviour:01 Hi, I would like to add one extra, odd, tidbit. On a simple example, 'private' will only work if a dummy constructor is added to the type. Thus, this wil= l not work: module rec Node: sig (* ... *) type (+'a, 'b) t =3D private 'a constraint 'a =3D [< super_node_t] (* ... *) end =3D struct (* ... *) type (+'a, 'b) t =3D 'a constraint 'a =3D [< super_node_t] (* ... *) end =3D But this will: module rec Node: sig (* ... *) type (+'a, 'b) t =3D private Dummy of 'a constraint 'a =3D [< super= _node_t] (* ... *) end =3D struct (* ... *) type (+'a, 'b) t =3D Dummy of 'a constraint 'a =3D [< super_node_t] (* ... *) end =3D Is this behaviour correct? (I'm running 3.11+dev12) Cheers, Dario Teixeira =0A=0A=0A __________________________________________________________= =0ANot happy with your email address?.=0AGet the one you really want - mill= ions of new email addresses available now at Yahoo! http://uk.docs.yahoo.co= m/ymail/new.html