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 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 66C1EBC0A for ; Sun, 31 Dec 2006 10:33:58 +0100 (CET) Received: from mail22.bluewin.ch (mail22.bluewin.ch [195.186.19.66]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id kBV9XwbU016690 for ; Sun, 31 Dec 2006 10:33:58 +0100 Received: from [10.0.1.2] (85.1.107.80) by mail22.bluewin.ch (Bluewin 7.3.118) id 457D6C80004E7340 for caml-list@yquem.inria.fr; Sun, 31 Dec 2006 09:33:57 +0000 Mime-Version: 1.0 (Apple Message framework v752.2) Content-Transfer-Encoding: 7bit Message-Id: Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: caml-list@yquem.inria.fr From: =?ISO-8859-1?Q?Daniel_B=FCnzli?= Subject: Type equalities in sub modules Date: Sun, 31 Dec 2006 10:35:29 +0100 X-Mailer: Apple Mail (2.752.2) X-Miltered: at concorde with ID 45978406.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; bunzli:01 buenzli:01 struct:01 struct:01 rec':01 int:01 int:01 modules:02 epfl:02 construct:02 seems:03 module:03 module:03 intermediate:03 daniel:04 Hello, In the example below, is there any way to achieve M.B.t = M.t without introducing the intermediate mt type ? > module M = struct > type t = int > module B = struct > type mt = t > type t = mt > end > end This doesn't work : > module M = struct > type t = int > module B = struct > type t = M.t > end > end This doesn't work : > module M = struct > type t = int > module B = struct > type t = t > end > end It seems type definitions should have been designed like value definitions by having both a 'type' and 'type rec' construct (though one can argue this is sufficently rare to justify the above inconvenience). Thanks for your answers, Daniel