caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Chris King <colanderman@gmail.com>
To: Tom Hawkins <tom@confluent.org>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Nesting Modules
Date: Tue, 1 Nov 2005 21:03:45 -0500	[thread overview]
Message-ID: <875c7e070511011803x598ffb63gd54267aec1fb181e@mail.gmail.com> (raw)
In-Reply-To: <43679EEF.70102@confluent.org>

On 11/1/05, Tom Hawkins <tom@confluent.org> wrote:
> Is it possible to nest modules defined in separate files?

One way to do what you're looking to do, is to write in top.ml:

module Bottom = Bottom

This will essentially re-export Bottom in Top.  Unfortunately, this
requires that you link bottom.cmo in with your code, which causes
Bottom to be visible at the top level.

A similar effect can be obtained with the -pack flag:

ocamlc -pack top.ml bottom.ml foo.cmo

Top and Bottom can now be referenced as Foo.Top and Foo.Bottom, and
only foo.cmo needs to be linked.  I know this isn't exactly what
you're looking for, but it might do the trick just the same.

- Chris King


  parent reply	other threads:[~2005-11-02  2:03 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-01 16:59 Tom Hawkins
2005-11-02  1:39 ` [Caml-list] " Pietro Abate
2005-11-02  6:43   ` Martin Jambon
2005-11-02  1:45 ` Robert Roessler
2005-11-02  2:03 ` Chris King [this message]
2005-11-02  8:42   ` Daniel Bünzli
2005-11-02 12:00     ` Tom Hawkins
2005-11-02 12:09       ` Daniel Bünzli
     [not found] ` <Pine.LNX.4.62.0511011028340.4466@ganymede.cs.unm.edu>
2005-11-02  4:47   ` Tom Hawkins
2005-11-02  9:46 ` Richard Jones
2005-11-02  9:57   ` Daniel Bünzli
2005-11-02 10:47     ` Richard Jones
2005-11-02 10:57       ` Daniel Bünzli
2005-11-02 11:27         ` Richard Jones
2005-11-02 11:59   ` Tom Hawkins
2005-11-02 12:33     ` Richard Jones
2005-11-02 13:11     ` Christophe TROESTLER
2005-11-02 14:02       ` Tom Hawkins
2005-11-02 14:36         ` Gerd Stolpmann
2005-11-02 13:34 ` Oliver Bandel

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=875c7e070511011803x598ffb63gd54267aec1fb181e@mail.gmail.com \
    --to=colanderman@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=tom@confluent.org \
    /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).