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 SAA14922 for caml-redistribution; Fri, 1 Mar 1996 18:52:35 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.6.10/8.6.6) with ESMTP id QAA12734 for ; Fri, 1 Mar 1996 16:24:35 +0100 From: Guy.Cousineau@ens.fr Received: from nef.ens.fr (nef.ens.fr [129.199.96.12]) by concorde.inria.fr (8.7.1/8.7.1) with SMTP id QAA29432 for ; Fri, 1 Mar 1996 16:24:34 +0100 (MET) Received: from dmi.ens.fr by nef.ens.fr (5.65c8/ULM-1.0) Id AA21082 ; Fri, 1 Mar 1996 16:24:33 +0100 Received: from aubepine.ens.fr by dmi.ens.fr (5.65c8/ULM-1.0) Id AA00436 ; Fri, 1 Mar 1996 16:24:32 +0100 Date: Fri, 1 Mar 96 16:24:32 +0100 Message-Id: <9603011524.AA08384@aubepine.ens.fr> Received: by NeXT.Mailer (1.100.2) Received: by NeXT Mailer (1.100.2) To: caml-list@pauillac.inria.fr Subject: CSL modules Cc: cousineau@dmi.ens.fr Sender: weis My problem is the following: I have a module A which defines a concrete type ta and a variable xa of type ta. I have a module B which defines a concrete type tb and a variable xb of type tb. I would like to build a fonctor F such that C=F(A,B) "reexports" the types and variables of A and B but with tb now being an abstract type. and ta remaining a concrete type . Moreover, I want C.xa to be a value of type C.ta and not a value of type A.ta which would be easy. The reason for that is that I do not want the users of my programs to see modules A and B but only module C. In other words, I try to use CSL modules to perform what was possible in Caml Light using the trick decribed in the section 7.3 of the manual under the title "turning code into a library". I was hoping to be able to do it more cleanly in CSL. But this seems to be impossible or am I wrong? --Guy