From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pAP6qKDY028095 for ; Fri, 25 Nov 2011 07:52:20 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvgCAPU5z05ZAQjUiWdsb2JhbABEqnQiAQEBCgsJCRMEIoFyAQEFOEABEAsYCRMDDwkDAgECAUUGDQEHAogDpFaQXIpiBJAshB6SDA X-IronPort-AV: E=Sophos;i="4.69,569,1315173600"; d="scan'208";a="120801909" Received: from cc-smtpout2.netcologne.de ([89.1.8.212]) by mail4-smtp-sop.national.inria.fr with ESMTP; 25 Nov 2011 07:52:15 +0100 Received: from cc-smtpin2.netcologne.de (cc-smtpin2.netcologne.de [89.1.8.202]) by cc-smtpout2.netcologne.de (Postfix) with ESMTP id 3744712731; Fri, 25 Nov 2011 07:52:14 +0100 (CET) Received: from llea.celt.neu (xdsl-89-0-153-104.netcologne.de [89.0.153.104]) by cc-smtpin2.netcologne.de (Postfix) with ESMTPA id 06EC211D73; Fri, 25 Nov 2011 07:52:12 +0100 (CET) Message-ID: <4ECF3B1C.8040907@yahoo.fr> Date: Fri, 25 Nov 2011 07:52:12 +0100 From: =?ISO-8859-1?Q?Michael_Gr=FCnewald?= User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:6.0) Gecko/20110818 Firefox/6.0 SeaMonkey/2.3 MIME-Version: 1.0 To: Gabriel Scherer CC: caml-list@inria.fr References: <4ECE725E.7050102@yahoo.fr> <4ECE9C09.3030705@yahoo.fr> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] Deleting a type alias while including a module Hello Gabriel, thank you for your much useful answer! Gabriel Scherer wrote: > When you seal a module with a signature that has an abstract type (the > type ('a xarray) in the XARRAY signature), you get a "fresh" abstract > type is a result. I think I did not analyse adequately the situation because I overlooked the fact you pinpoint here. I thought I knew this, but I probably implicitly assumed that the result of `module type of XArray` (my original code used this) was annotated with concrete type definitions. But it does not work like this, and it is not expected to do so! As you might guess I am now trying out the new features of OCaml 3.11, and the `include module type of` mantra together with destructive substitution in signatures is makes the implementation of inheritance mechanisms for modules much easier. Something else I am very excited about is first class modules! Best Regards, Michael