From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA10270; Fri, 28 Mar 2003 15:09:47 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA09883 for ; Fri, 28 Mar 2003 15:09:45 +0100 (MET) Received: from isis.lip6.fr (isis.lip6.fr [132.227.60.2]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h2SE9iX16371 for ; Fri, 28 Mar 2003 15:09:44 +0100 (MET) Received: from spi.lip6.fr (IDENT:root@spi.lip6.fr [132.227.83.55]) by isis.lip6.fr (8.12.8/jtpda-5.4+victor) with ESMTP id h2SE9i0t028067 for ; Fri, 28 Mar 2003 15:09:44 +0100 X-pt: isis.lip6.fr Received: from inria.fr ([132.227.83.193]) by spi.lip6.fr (8.8.7/jtpda-5.2) with ESMTP id PAA24682 for ; Fri, 28 Mar 2003 15:09:43 +0100 Date: Fri, 28 Mar 2003 15:10:04 +0100 Subject: Re: [Caml-list] camlimages vs. labltk Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v551) From: Damien Doligez To: Content-Transfer-Encoding: 7bit In-Reply-To: <4.3.2.7.2.20030327113554.0369d060@localhost> Message-Id: X-Mailer: Apple Mail (2.551) X-Scanned-By: isis.lip6.fr X-Spam: no; 0.00; damien:01 caml-list:01 camlimages:01 labltk:01 hecker:01 -pack:01 foo:01 submodules:01 reuse:01 renaming:01 mylib:01 coexist:01 extlib:01 chris:01 semantics:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Thursday, March 27, 2003, at 08:46 PM, Chris Hecker wrote: > It seems like there are a couple different options: > > 1. relax the semantics of module inclusion/initialization so that > -pack can simultaneously provide the nested module syntax of > Package.Foo but it doesn't have to link all of the submodules, like a > cma > > 2. define a new namespace system and syntax (or reuse the module > syntax, not sure what the issues are there) > > Are there any other options? Did I get all of that right? How about a solution based on renaming ? Let's say I have two modules from different programmers, both named "Mylib", and I want to use them in my program. I cannot because the module system does not allow two different modules with the same name to coexist. The obvious solution is a tool that renames one of the Mylib modules. Then I can use both modules in one program. It becomes a little more complex when you consider that a module also imports other modules, referenced by their names. For example, I can have (in addition to the two "Mylib" modules) another pair of modules, Extlib and Superlib, written by two other programmers, and I want to use them both in my program. And Extlib uses one of the Mylib, Superlib uses the other one. Now if I rename the second Mylib into Mylib2, I also have to tell Superlib to use Mylib2 instead of Mylib. So I need a tool to rename modules, both as exports and as imports, then I can use any module I want, without changing anything in the language, and without the need for a universal naming scheme. -- Damien ------------------- 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