From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA23033 for caml-red; Mon, 8 Jan 2001 18:42:37 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA00020 for ; Mon, 8 Jan 2001 13:19:43 +0100 (MET) Received: from nef.ens.fr (nef.ens.fr [129.199.96.32]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f08CJgr24517 for ; Mon, 8 Jan 2001 13:19:42 +0100 (MET) Received: from clipper.ens.fr (clipper-gw.ens.fr [129.199.1.22]) by nef.ens.fr (8.10.1/1.01.28121999) with ESMTP id f08CHhM40121 ; Mon, 8 Jan 2001 13:17:43 +0100 (CET) Received: from localhost (frisch@localhost) by clipper.ens.fr (8.9.2/jb-1.1) id NAA28047 ; Mon, 8 Jan 2001 13:17:43 +0100 (MET) Date: Mon, 8 Jan 2001 13:17:43 +0100 (MET) From: Alain Frisch To: Claudio Russo cc: caml-list@inria.fr, kfl@it.edu, sestoft@dina.kvl.dk Subject: RE: first class modules (was: alternative module systems) In-Reply-To: <112C6E8A1B25D34BB27D48D2FD2E96CFC9DEC9@TVP-MSG-02.europe.corp.microsoft.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis@pauillac.inria.fr On Mon, 8 Jan 2001, Claudio Russo wrote: > For the record, your simplification based on identity of signature > identifiers > is probably ok in practice, but it does > rule out some examples that involve package types with free type > variables. Right. Would it break something to allow named module type with explicit arguments: module type 'a ARRAY = sig type array val init: 'a -> array val sub: array -> int -> 'a val update : array -> int -> 'a -> array end ? Then the unification between < (a1,...,ap) S > and < (b1,...,bq) T > is solved by equating S = T (syntactically), p=q and unifying a1=b1,...,ap=bp. -- Alain Frisch