From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id MAA02268 for caml-redistribution; Wed, 6 Mar 1996 12:29:11 +0100 Received: (from xleroy@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id KAA00291; Wed, 6 Mar 1996 10:28:58 +0100 From: Xavier Leroy Message-Id: <199603060928.KAA00291@pauillac.inria.fr> Subject: Re: CSL modules To: lux@heidelbg.ibm.com (Wolfgang Lux) Date: Wed, 6 Mar 1996 10:28:58 +0100 (MET) Cc: caml-list@pauillac.inria.fr In-Reply-To: <9603050903.AA36425@idse.heidelbg.ibm.com> from "Wolfgang Lux" at Mar 5, 96 10:03:33 am MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: weis > Being curious I tried this and got an error from CSL 1.14, which I > really don't understand. My code was wrong, I just confused the formal parameter "A" of the functor with the global module "A". CSL just complains that these two are not a priori the same module (when typing the body of the functor). What I should have written is: module F(A: SIGA)(B: SIGB) = (struct type ta = A.ta type tb = B.tb let xa = A.xa let xb = B.xb end : sig type ta = A.ta (* concrete *) type tb (* abstract *) val xa : ta val xb : tb end) My apologies for the confusion. - Xavier Leroy