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 LAA31695; Fri, 19 Mar 2004 11:19:34 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA31350 for ; Fri, 19 Mar 2004 11:19:33 +0100 (MET) Received: from aomori.annexia.org (annexia.force9.co.uk [212.56.101.183]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i2JAJWHd010662 for ; Fri, 19 Mar 2004 11:19:32 +0100 Received: from rich by aomori.annexia.org with local (Exim 3.36 #1 (Debian)) id 1B4H6B-0002tk-00 for ; Fri, 19 Mar 2004 10:19:31 +0000 Date: Fri, 19 Mar 2004 10:19:31 +0000 To: caml-list@inria.fr Subject: [Caml-list] Modules and namespaces Message-ID: <20040319101931.GA10938@redhat.com> References: <200403191049.27133.wolfgang.mueller2@uni-bayreuth.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200403191049.27133.wolfgang.mueller2@uni-bayreuth.de> User-Agent: Mutt/1.5.5.1+cvs20040105i From: Richard Jones X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; namespaces:01 2004:99 namespaces:01 bottleneck:01 uploading:01 cpan:01 subdir:01 dbi:99 dbi:99 subdirectory:01 type-safe:01 ltd:98 ocaml:01 caml:01 caml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Keywords: X-UID: 209 On Fri, Mar 19, 2004 at 10:49:27AM +0100, Wolfgang Müller wrote: > To get back to the perl example: [perl example] > However, for toplevel namespaces, you have to write to a mailing > list, and there is a group of people who decide if to accept the new > toplevel namespace or not. This is a (AFAIK also known) bottleneck.. Actually, getting a toplevel namespace accepted is not necessary with Perl. It's advisable, a nice thing to do, etc., but not necessary for uploading a module to CPAN. Another thing which is being overlooked here is that ocaml has two types of namespace: (1) The normal module namespace (2) Which paths get searched using -I +subdir For instance, I have a module called Dbi which is located in the -I +dbi subdirectory. It would be quite possible for someone else to write a Dbi module located in the -I +anotherdbi directory. No conflict would arise unless some strange person wanted to use both types of Dbi module in their program - an unlikely occurrence presumably. As for complex module namespaces: Perl gets away with a very loose definition. All modules which count are at either the top level or the second level, eg: CGI Net::FTP IO::Handle Java, by contrast, has a horrible ham-fisted namespace mechanism which is great example of overengineering a problem to death. Stick with short 1- or 2-level names for modules, please. Rich. -- Richard Jones. http://www.annexia.org/ http://www.j-london.com/ Merjis Ltd. http://www.merjis.com/ - improving website return on investment Perl4Caml lets you use any Perl library in your type-safe Objective CAML programs. http://www.merjis.com/developers/perl4caml/ ------------------- 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