From: james woodyatt <jhw@wetware.com>
To: The Trade <caml-list@inria.fr>
Subject: Re: [Caml-list] GODI (was: CTAN/CPAN for Caml (COCAN ...?))
Date: Mon, 21 Jul 2003 13:37:25 -0700 [thread overview]
Message-ID: <2374E4D4-BBBB-11D7-A23A-000393BA7EBA@wetware.com> (raw)
In-Reply-To: <20030721163207.GA3936@redhat.com>
On Monday, Jul 21, 2003, at 09:32 US/Pacific, Richard Jones wrote:
>
> There are two big lessons from Java about how NOT to do this:
> Actually, THREE big lessons about how NOT to do this:
>
> (1) $CLASSPATH
Yeah, the mistake here is that a resource *identifier* is not the same
as a resource *locator*. I'm less worried about the process the INRIA
tools implement to locate .cmo and .cmi files than I am about the
semantics the Ocaml language supports for identifying libraries under a
federated naming authority.
The issue at hand-- for me, at least, as a guy writing a component
toolkit-- is the anarchy caused by planting the root of the
extended-module-path production in a single global namespace with no
organization. I can enjoy the occasional visits to anarchy: I've been
to Burning Man more than once. But I like to live and work in
republics-- especially in republics where the citizens can afford their
upkeep (but that's another rant).
> (2) uk.co.mycompany.unweildy.modules.names
Yeah again. The problem here is the conflation of the module path with
the naming authority. When you want to use modules from multiple
libraries with different naming authorities, you need a way to identify
the library resource that contains the extended module path. That's
why we can't do it with just compiler and linker arguments. We need
new syntax.
Right now, there is one library that contains all extended module
paths: the Standard Objective Caml library. (Note well: I am not
talking about a .cma file here.)
On my system, the contents of that library are located in
<file:///usr/lib/ocaml/>. Since there's only one library, I don't have
to identify it explicitly in my code. The locator is hard-coded into
the compiler and linker. I can use arguments/environment to change it,
and even add multiple locators to search, but I can't change the fact
that there is only one library that must contain all the extended
module paths in my system.
Which wouldn't be so bad-- if there were an omniscient, omnipotent,
omnibenevolent worldwide librarian to regulate top-level module name
assignment. There isn't one, and I'm pretty sure I don't want one.
> (3) ant
Yeah again again. Don't get me wrong: I hate /usr/bin/make more than
any of three of you. But I don't regard 'ant' as an improvement. That
said, the topic of software construction tools is completely unrelated
to the main issue that fished me out of lurk mode: the opportunity to
agitate for multiple roots for extended-module-path and a federating
naming authority for those roots.
--
j h woodyatt <jhw@wetware.com>
that's my village calling... no doubt, they want their idiot back.
-------------------
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
next prev parent reply other threads:[~2003-07-21 20:37 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-15 18:09 [Caml-list] CTAN/CPAN for Caml (COCAN ...?) Richard Jones
2003-07-15 18:37 ` Erik Arneson
2003-07-18 8:08 ` John Max Skaller
2003-07-16 3:13 ` BdB
2003-07-16 3:22 ` Alexander V. Voinov
2003-07-16 5:53 ` Issac Trotts
2003-07-16 6:43 ` BdB
2003-07-16 7:07 ` Wolfgang Müller
2003-07-16 9:22 ` Richard Jones
2003-07-16 9:51 ` Wolfgang Müller
2003-07-17 8:42 ` Florian Hars
2003-07-16 6:52 ` Florian Hars
2003-07-18 8:14 ` John Max Skaller
2003-07-18 8:42 ` Richard Jones
2003-07-18 15:46 ` Stefano Zacchiroli
2003-07-18 20:49 ` Yamagata Yoriyuki
2003-07-19 11:25 ` Daniel Bünzli
2003-07-19 19:47 ` Yamagata Yoriyuki
2003-07-18 14:29 ` Shawn Wagner
2003-07-19 11:55 ` [Caml-list] GODI (was: CTAN/CPAN for Caml (COCAN ...?)) Gerd Stolpmann
2003-07-19 12:18 ` Fernando Alegre
2003-07-19 12:38 ` Gerd Stolpmann
2003-07-19 13:20 ` Fernando Alegre
2003-07-19 22:58 ` Kip Macy
2003-07-19 20:05 ` [Caml-list] GODI Yamagata Yoriyuki
2003-07-19 20:40 ` [Caml-list] GODI (was: CTAN/CPAN for Caml (COCAN ...?)) BdB
2003-07-20 9:55 ` Gerd Stolpmann
2003-07-20 18:30 ` Christian Lindig
2003-07-21 16:19 ` james woodyatt
2003-07-21 16:32 ` Richard Jones
2003-07-21 16:37 ` Richard Jones
2003-07-21 20:37 ` james woodyatt [this message]
2003-07-21 21:48 ` BdB
2003-07-22 20:48 ` Christian Lindig
2003-07-22 0:01 ` BdB
2003-07-22 2:35 ` [Caml-list] licensing (was Re: GODI (was: CTAN/CPAN for Caml (COCAN ...?))) Alan Post
2003-07-22 7:57 ` Dominique Quatravaux
2003-07-22 8:02 ` BdB
2003-07-22 15:29 ` [Caml-list] GODI Yamagata Yoriyuki
2003-07-20 23:11 ` Yamagata Yoriyuki
2003-07-21 12:01 ` Fernando Alegre
2003-07-23 9:35 ` [Caml-list] GODI (was: CTAN/CPAN for Caml (COCAN ...?)) Xavier Leroy
2003-07-23 13:20 ` Gerd Stolpmann
2003-07-24 16:34 ` Eray Ozkural
2003-07-23 17:56 ` David Brown
2003-07-23 18:36 ` Fernando Alegre
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=2374E4D4-BBBB-11D7-A23A-000393BA7EBA@wetware.com \
--to=jhw@wetware.com \
--cc=caml-list@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