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 pA9NauBD005938 for ; Thu, 10 Nov 2011 00:36:56 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsEEAAoOu07RVaC2kGdsb2JhbABEmmuOK4EGCCIBAQEBCQkNBxQEIYFyAQEBAwESAiYGATgBAwELAQQBBRgcEjQBBQEcGRERh2CaHwqORIVXiS0CBQqJEmMEiAqMG4ZkhmE9gUmCNg X-IronPort-AV: E=Sophos;i="4.69,486,1315173600"; d="scan'208";a="117963692" Received: from mail-gy0-f182.google.com ([209.85.160.182]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 10 Nov 2011 00:36:51 +0100 Received: by gyd5 with SMTP id 5so3498327gyd.27 for ; Wed, 09 Nov 2011 15:36:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:subject:mime-version:content-type:from:x-priority :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to:x-mailer; bh=OfRvH/0PPBFt4dPE6bhFn7bjHmbVijgb1SYiZKBhI04=; b=M6yWiJYWAMbmY5XyOMVMyle0gpuK9SWOGV2956qoSmhNRBOuGE6ZdU6w7fw9zq1N86 bxdkd6tOLxhaqNWk+F7DIi4sCeQ52ZyptyvZf68gQaZ1953U/5DZMrXgncr33otK1qsD ajKTvrBpZ3BUCezUDgCi5rhKRnIxv8AZ4q1yQ= Received: by 10.68.43.100 with SMTP id v4mr9235259pbl.35.1320881809678; Wed, 09 Nov 2011 15:36:49 -0800 (PST) Received: from tet.garrigue.jp (58x158x128x157.ap58.ftth.ucom.ne.jp. [58.158.128.157]) by mx.google.com with ESMTPS id p6sm16615392pbf.3.2011.11.09.15.36.46 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 09 Nov 2011 15:36:48 -0800 (PST) Sender: Jacques Garrigue Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Jacques Garrigue X-Priority: 3 (Normal) In-Reply-To: Date: Thu, 10 Nov 2011 08:36:45 +0900 Cc: "Vincent Aravantinos" , caml-list@inria.fr, "Cedric Cellier" Message-Id: <36C77095-6853-45FA-9A62-CD7CBC9AC7D4@math.nagoya-u.ac.jp> References: <1320823798.6647.2.camel@Nokia-N900> <4EBA9F1B.3060801@gmail.com> <4EBAA144.6050701@gmail.com> To: rossberg@mpi-sws.org X-Mailer: Apple Mail (2.1084) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id pA9NauBD005938 Subject: Re: [Caml-list] Include question On 2011/11/10, at 1:29, rossberg@mpi-sws.org wrote: > Vincent Aravantinos wrote: >> This verbosity problem is actually less true since 3.12 with the >> introduction of "module type of": >> >> module A = struct >> ... >> end >> >> module Make_B (X: module type of A) = struct >> ... >> end >> >> Which is then quite close to the "include" version. > > Except that it defeats the whole point of functorizing, because you won't be > able to plug in another module than A anymore (unless A defines no abstract > types, in which case you can get away with it). This is actually the opposite: "module type of A" gives no equation for the abstract types, so if module A contained an abstract type, you will be able to change it by another abstract one. On the other hand, all concrete types will stay there, and you will have no way to change them even if Make_B doesn't care. Jacques Garrigue