Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Chet Murthy <chet@watson.ibm.com>
To: Xavier Leroy <xavier.leroy@inria.fr>
Cc: Lauri Alanko <la@iki.fi>, caml-list@inria.fr
Subject: Re: [Caml-list] Alternative proposal: COAN
Date: Sun, 23 Feb 2003 11:51:31 -0500	[thread overview]
Message-ID: <200302231651.h1NGpVws001180@nautilus-chet.watson.ibm.com> (raw)
In-Reply-To: Your message of "Thu, 27 Feb 2003 09:29:23 +0100." <20030227092923.A496@pauillac.inria.fr>


>>>>> "XL" == Xavier Leroy <xavier.leroy@inria.fr> writes:

    XL> Since day one, the OCaml module system has had "hierarchical"
    XL> namespaces in the form of nested modules.  Without sounding
    XL> too cocky, I'd say that ML doesn't have much to learn from
    XL> Java or Perl in the module department.

    XL> The '-pack' mechanism was introduced in 3.06 to support
    XL> separate compilation of the submodules.  Since it is a recent
    XL> extension, it's not yet stable enough to be used widely, but I
    XL> expect this to change with time.

How *amusing*.

Xavier, while you were doing this, I was hacking together, as a piece
of "research" (but then, I work for an industrial "research" lab, so
you can decide for yourself how much "research" I get to do), a real
module system for Java.

Oh, you say (well, -you- wouldn't say it, and you'd be right not to
;-), doesn't Java *have* a module system?  Nope.  In the same sense
that SML/NJ didn't have a notion of compilation/linkage units, back in
1991, when I first met caml-light, Java doesn't have such a notion,
either.  Heck, Java's "packages" are neither hierarchical, nor do the
enforce enough constraints to provide anything remotely resembling
separate compilation or linking.

The linking of any Java class can cause the linking of any other Java
class.  The compilation of any Java class can cause the compilation of
a large number of other Java classes.  They certainly don't allow the
JIT to do anything remotely resembling static compilation.

For achieving "modularity" of a form which permits separate
compilation, hierarchical namespaces is almost irrelevant.  All its
really good for, is for *naming* classes.

After hacking with Java all these years (the horror, the horror), I've
pretty much concluded that something like findlib, with some
extensions to *name* packages more commodiously, would be almost
perfect.

Once we get our Java version of this modularity done, I'm going to
take a look at what one would have to do to findlib (literally, I
think it comes down to module-naming, and that is *all*) to make it
work for large-scale module-sharing.

I really don't think Caml is far.

And I think you're right, Xavier, that you have nothing to learn from
Java and Perl.  Heck, I based the module system I'm writing for Java,
on the old caml-light "compilation units".

--chet--
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2003-02-27 12:47 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-24 16:54 Benjamin C. Pierce
2003-02-24 18:24 ` Chris Hecker
2003-02-24 20:17 ` Francois Rouaix
2003-02-24 20:28   ` Basile STARYNKEVITCH
2003-02-24 21:03   ` Brian Hurt
2003-02-24 21:10     ` Brian Hurt
2003-02-24 21:22       ` Benjamin C. Pierce
2003-02-25 10:54     ` roberto
2003-02-25 13:20       ` Sven Luther
2003-02-25 13:36         ` roberto
2003-02-25 16:07           ` Sven Luther
2003-02-25 14:17       ` MikhailFedotov
2003-02-25 17:15       ` Eric C. Cooper
2003-02-25 21:48         ` Michal Moskal
2003-02-25 22:14           ` Lauri Alanko
2003-02-26 14:06             ` Sven Luther
2003-02-27  8:05             ` Blair Zajac
2003-02-27  8:29             ` Xavier Leroy
2003-02-23 16:51               ` Chet Murthy [this message]
2003-02-27 15:39               ` [Caml-list] hierarchical modules John Carr
2003-03-01 18:09                 ` [Caml-list] " Xavier Leroy
2003-03-01 18:18                   ` Michal Moskal
2003-03-02 15:58                     ` Xavier Leroy
2003-02-25 22:59           ` [Caml-list] Alternative proposal: COAN Sven Luther
2003-02-26  9:47             ` Michal Moskal
2003-02-26 10:11               ` Sven Luther
2003-02-26 10:26                 ` Michal Moskal
2003-02-26 11:53                   ` Sven Luther
2003-02-26 10:35                 ` Olivier Andrieu
2003-02-26 12:03                   ` Sven Luther
2003-02-27  3:19                   ` Nicolas Cannasse
2003-02-23 15:05                     ` Chet Murthy
2003-02-27  4:54                       ` Nicolas Cannasse
2003-02-23 16:13                         ` Chet Murthy
2003-02-27  9:20                           ` Sven Luther
2003-02-27 10:39                         ` Damien Doligez
2003-02-28  9:20       ` Jacques Garrigue
2003-02-28 10:53         ` Sven Luther
2003-02-28 12:28         ` Jean-Christophe Filliatre
2003-02-28 13:08           ` Markus Mottl
2003-02-28 13:27             ` Sven Luther
2003-02-28 14:05               ` Jean-Christophe Filliatre
2003-02-28 14:43                 ` Sven Luther
2003-02-28 15:58                   ` Benjamin C. Pierce
2003-03-01 18:03                 ` Michal Moskal
2003-03-01  8:14         ` Blair Zajac
2003-03-02 18:21         ` Xavier Leroy
2003-03-02 20:09           ` Sven Luther
2003-03-02 21:38           ` Doug Bagley
2003-03-03  2:39         ` Nicolas Cannasse
2003-03-03  9:07           ` Sven Luther
2003-03-03  9:24             ` Nicolas Cannasse
2003-03-03  9:37               ` Sven Luther
2003-02-26 18:42 Jeff Bowden

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=200302231651.h1NGpVws001180@nautilus-chet.watson.ibm.com \
    --to=chet@watson.ibm.com \
    --cc=caml-list@inria.fr \
    --cc=la@iki.fi \
    --cc=xavier.leroy@inria.fr \
    /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