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=0.0 required=5.0 tests=none 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 4F79ABC6B for ; Fri, 16 Mar 2007 16:44:46 +0100 (CET) Received: from smtp.uibk.ac.at (lmr1.uibk.ac.at [138.232.1.142]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l2GFiiaw030157 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 16 Mar 2007 16:44:46 +0100 Received: from smc.uibk.ac.at (smc.uibk.ac.at [138.232.1.226] c703350@smc.uibk.ac.at) by smtp.uibk.ac.at (8.13.8/8.13.1/F1) with ESMTP id l2GFifBD001235; Fri, 16 Mar 2007 16:44:41 +0100 Received: from smc.uibk.ac.at (localhost [127.0.0.1] c703350@smc.uibk.ac.at) by smc.uibk.ac.at (8.13.8+Sun/uibk) with ESMTP id l2GFiffo017778; Fri, 16 Mar 2007 16:44:41 +0100 (MET) Received: (from c703350@localhost) by smc.uibk.ac.at (8.13.8+Sun/8.13.8/Submit) id l2GFifAI017777; Fri, 16 Mar 2007 16:44:41 +0100 (MET) Date: Fri, 16 Mar 2007 16:44:41 +0100 From: Christian Sternagel To: Zheng Li , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: type constraints involving variant types Message-ID: <20070316154440.GB3202@pc6197-c703.uibk.ac.at> Mail-Followup-To: Zheng Li , caml-list@yquem.inria.fr References: <20070316104354.GA3202@pc6197-c703.uibk.ac.at> <87abydl4k9.fsf@pps.jussieu.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87abydl4k9.fsf@pps.jussieu.fr> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.58 at uibk.ac.at on 138.232.1.140 X-Miltered: at concorde with ID 45FABB6C.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; 0100,:01 sig:01 sig:01 cheers:01 beginner's:01 ocaml:01 bug:01 beginners:01 wrote:01 caml-list:01 caml-list:01 writes:01 pps:01 jussieu:01 int:01 On Fri, Mar 16, 2007 at 02:07:50PM +0100, Zheng Li wrote: > > Not sure if this is what you want: > > # module type C = sig > module A: A > module B: B with module A = A > end;; > module type C = > sig > module A : A > module B : sig module A : sig type t = A.t = A of int | B of string end end > end Thanks a lot! That finally worked... after days of type contraints, the obvious solutions get somehow lost. cheers christian > > Christian Sternagel writes: > > module type A = sig > > type t = A of 'a | B of 'b > > end > > > > module type B = sig > > module A : A > > end > > > > Can I then do something like > > > > module type C = sig > > module B : B > > module A : A > > with type t = B.A.t = A of 'a | B of 'b > > end > > > > -- > Zheng Li > http://www.pps.jussieu.fr/~li > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >