From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=AWL,DNS_FROM_SECURITYSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 03D41BBAF for ; Wed, 19 Nov 2008 14:28:50 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvgCAAWjI0lDz4HegWdsb2JhbACTVwEBFiK+Y4J5 X-IronPort-AV: E=Sophos;i="4.33,631,1220220000"; d="scan'208";a="20128033" Received: from fettunta.fettunta.org ([67.207.129.222]) by mail1-smtp-roc.national.inria.fr with ESMTP; 19 Nov 2008 14:28:49 +0100 Received: from usha.takhisis.invalid (unknown [10.17.0.18]) by fettunta.fettunta.org (Postfix) with ESMTP id 7C2FD18151; Wed, 19 Nov 2008 13:28:48 +0000 (UTC) Received: by usha.takhisis.invalid (Postfix, from userid 1000) id CF0056875; Wed, 19 Nov 2008 14:28:44 +0100 (CET) Date: Wed, 19 Nov 2008 14:28:44 +0100 From: Stefano Zacchiroli To: caml-list@yquem.inria.fr Cc: bluestorm.dylc@gmail.com Subject: Re: [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included Message-ID: <20081119132844.GA1646@usha.takhisis.invalid> References: <1227002178.6170.25.camel@Blefuscu> <20081118100625.GA25627@annexia.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20081118100625.GA25627@annexia.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam: no; 0.00; zacchiroli:01 zack:01 ocaml:01 syntax:01 cheers:01 zacchiroli:01 postdoc:01 zack:01 temptation:98 dietro:98 c'e:98 sempre:98 wrote:01 partial:01 uno:98 On Tue, Nov 18, 2008 at 10:06:25AM +0000, Richard Jones wrote: > Your biggest problem is using dot ('.') instead of underscore ('_'). > Using a dot means that the System namespace cannot be extended by > external packages. If you use an underscore then an external package > can extend the namespace (eg. by providing System_Newpackage) As can be evinced from David's reply, this "biggest problem" comes from the fact that extension by the means of external libraries was not a design goal :) But you're right in stating that once one have a hierarchical organized library, the temptation of adding your own libraries (you is a third-party contributor here) into it is high. Still, I'm not sure this problem should be addressed at the Batteries level. To some extent we have just inherited limitations of the module system, like the fact that packed module cannot be separately compiled (or the annoying link all together issue). Frankly I wouldn't like to give up the hierarchy in favor of "_" for this limitation, before at least trying to understand if in the future the limitations can be lifted. There might be an alternative though: - use "_" and rely on some syntax extensions to retain the advantages of the hierarchy, like the fact that you can open a "partial module path". We can for example use "__" as a hierarchy separator and have "open" treat that sequence as a "." No idea how hard that would be, or how many implications there will be; bluestorm? Cheers. -- Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7 zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/ Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime