Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
CSL modules
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Guy.Cousineau@e...
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?