caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Ivan Gotovchits <ivg@ieee.org>
To: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
Cc: Alexey Egorov <electreg@list.ru>, caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Installing library with hidden modules
Date: Mon, 8 May 2017 08:49:22 -0400	[thread overview]
Message-ID: <CALdWJ+xE+9ciKyU10x-DZ1eZOxG6fbE=HiLgnyXDoHWajdZy8g@mail.gmail.com> (raw)
In-Reply-To: <645DF7BCD0884CF29575F7F16193744D@erratique.ch>

[-- Attachment #1: Type: text/plain, Size: 1219 bytes --]

Hi Alexey,

The generic recipe is to hide (not install) the cmi file, while still
installing cmx and other object files of the private module. An absence of
the cmi file, will prevent users from accessing the module directly. The
OASIS system provides an easy way to hide modules, with the
`InternalModules` field. OASIS will install all the necessary parts of the
module (i.e., cmxs, cma, o, a, etc), but will not install the interface
part.

Best wishes,
Ivan Gotovchits

On Mon, May 8, 2017 at 6:56 AM, Daniel Bünzli <daniel.buenzli@erratique.ch>
wrote:

>
>
> On Sunday, 7 May 2017 at 07:24, Alexey Egorov wrote:
>
> > How do I install such package? When I install (using ocamlfind) only
> 'public.*' files, it gives me an error 'This is an alias for module
> Private, which is missing'. If I install all of compiled files - module
> 'Private' still accessible via it's name...
>
> You can't hide toplevel names with module aliases.
>
> D
>
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 2045 bytes --]

  reply	other threads:[~2017-05-08 12:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-07  5:24 Alexey Egorov
2017-05-08 10:56 ` Daniel Bünzli
2017-05-08 12:49   ` Ivan Gotovchits [this message]
2017-05-09 21:01     ` Daniel Bünzli
2017-05-10 12:17       ` Ivan Gotovchits
2017-05-10 12:43         ` Daniel Bünzli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALdWJ+xE+9ciKyU10x-DZ1eZOxG6fbE=HiLgnyXDoHWajdZy8g@mail.gmail.com' \
    --to=ivg@ieee.org \
    --cc=caml-list@inria.fr \
    --cc=daniel.buenzli@erratique.ch \
    --cc=electreg@list.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).