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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 32C4DBB84 for ; Thu, 17 Jul 2008 18:12:09 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYAAMkKf0jOvjGsgGdsb2JhbACSPQEBCwUCBAkRA51R X-IronPort-AV: E=Sophos;i="4.31,204,1215381600"; d="scan'208";a="15218038" Received: from web54602.mail.re2.yahoo.com ([206.190.49.172]) by mail1-smtp-roc.national.inria.fr with SMTP; 17 Jul 2008 18:12:08 +0200 Received: (qmail 39279 invoked by uid 60001); 17 Jul 2008 16:12:07 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=tzDxPlFYLvLVQCz5pgA+smmBW2IQjYfuAZSwuHRJWXWGWgjwjNaf0u+nL63uABYlqv+TTssvtCDi/T8PUnvW9NN7fDK1zctkyQv76R0hQahkUgyefLOD88OnVp5vuM2136HJiGAjIDId7kGQuspS7uCjrYMOcIUjtlrQJ9hJf98=; Received: from [212.13.63.128] by web54602.mail.re2.yahoo.com via HTTP; Thu, 17 Jul 2008 09:12:07 PDT X-Mailer: YahooMailWebService/0.7.199 Date: Thu, 17 Jul 2008 09:12:07 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Troublesome nodes To: jeremy.yallop@ed.ac.uk, Jacques Garrigue Cc: caml-list@yquem.inria.fr In-Reply-To: <20080717.094328.191385811.garrigue@math.nagoya-u.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <733448.29873.qm@web54602.mail.re2.yahoo.com> X-Spam: no; 0.00; nodes:01 node:01 node:01 ocaml:01 compiler:01 12.:98 abstract:01 abstract:01 caml-list:01 constraint:01 constraint:01 behaviour:01 declaration:02 module:03 jacques:03 Hi, Thanks for the clarification, Jacques. So I guess my initial interpretatio= n of 'private' was correct. But is 'private' also applicable when a type is declared using a constraint? In my Node module, for example, type 't' is declared abstract in the signature: type (+'a, 'b) t constraint 'a =3D [< super_node_t ] In the implementation, the type is declared as follows: type (+'a, 'b) t =3D 'a constraint 'a =3D [< super_node_t ] Is it possible in this case to make signature equal to the implementation except for a 'private' declaration? (Being able to pattern-match on values of type 't' would be very handy, that is why I would prefer to use 'private= ' instead of making the type fully abstract). Note: I am running Ocaml 3.11+dev12. Jeremy just sent a message where he reports that the compiler behaviour in this matter changed between 3.10 and 3.11. Thank you for your time, 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