CSL modules

Guy.Cousineau@ens.fr
Fri, 1 Mar 96 16:24:32 +0100

From: Guy.Cousineau@ens.fr
Date: Fri, 1 Mar 96 16:24:32 +0100
Message-Id: <9603011524.AA08384@aubepine.ens.fr>
To: caml-list@pauillac.inria.fr
Subject: CSL modules

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