Re: [Caml-list] Partially hiding modules in packages

2009-11-28 Thread Guillaume Yziquel
blue storm a écrit : Regarding your original problem, I've had the same needs and came up with a slightly different solution : in order to avoid the additional indirection level related to -pack (Foobar.Foo), is used a flattened representation by adding a foobar.ml file containing only :

Re: [Caml-list] Partially hiding modules in packages

2009-09-10 Thread Jean-Christophe Filliâtre
Hi, Alexey Rodriguez a écrit : My question is about how to hide modules (or parts thereof) in an ocaml package from the outside world (users of the package). * Add the file foobar.mli which contains the signatures of Foo and Bar but hiding Foo.unsafe_change. I think it could work, but I

Re: [Caml-list] Partially hiding modules in packages

2009-09-10 Thread Alexey Rodriguez
Thanks to all who replied. I have solved my problem, but I still have a question regarding clashing type definitions. On Wed, Sep 9, 2009 at 9:40 PM, blue storm bluestorm.d...@gmail.com wrote: The problem with your packages.tgz example is that you use module type Foo = .. in the .mli. This

[Caml-list] Partially hiding modules in packages

2009-09-09 Thread Alexey Rodriguez
Dear list, My question is about how to hide modules (or parts thereof) in an ocaml package from the outside world (users of the package). I am trying to build an ocaml package with internal functionality (types and functions) that I do not want to expose. I have two modules in the package

Re: [Caml-list] Partially hiding modules in packages

2009-09-09 Thread blue storm
The problem with your packages.tgz example is that you use module type Foo = .. in the .mli. This gives the signature of a module type, that is, it refers to a _module type_ defined in the implementation file. What you want to do here is to give the signature of a _module_, not a module types, so

Re: [Caml-list] Partially hiding modules in packages

2009-09-09 Thread Alain Frisch
On 9/9/2009 9:00 PM, Alexey Rodriguez wrote: My question is about how to hide modules (or parts thereof) in an ocaml package from the outside world (users of the package). It is not a well-known fact, but it is possible to provide an explicit interface for the packaged module (just create an