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.0 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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id F28D9BBAF for ; Tue, 18 Nov 2008 11:29:52 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvgCAEMnIkmC5gQqgWdsb2JhbACTWAEBFiK9OIJ5 X-IronPort-AV: E=Sophos;i="4.33,624,1220220000"; d="scan'208";a="17314625" Received: from mail.cs.tut.fi ([130.230.4.42]) by mail2-smtp-roc.national.inria.fr with ESMTP; 18 Nov 2008 11:29:52 +0100 Received: from amavis1.cs.tut.fi (amavis1.cs.tut.fi [130.230.4.69]) by mail.cs.tut.fi (Postfix) with ESMTP id 257D1139B for ; Tue, 18 Nov 2008 12:29:49 +0200 (EET) Received: from mail.cs.tut.fi ([130.230.4.42]) by amavis1.cs.tut.fi (amavis1.cs.tut.fi [130.230.4.69]) (amavisd-maia, port 10024) with ESMTP id 16721-14 for ; Tue, 18 Nov 2008 12:29:48 +0200 (EET) Received: from modeemi.modeemi.cs.tut.fi (modeemi.modeemi.cs.tut.fi [130.230.72.134]) by mail.cs.tut.fi (Postfix) with ESMTP id 43456139A for ; Tue, 18 Nov 2008 12:29:48 +0200 (EET) Received: from jolt.modeemi.cs.tut.fi (jolt.modeemi.cs.tut.fi [130.230.72.144]) by modeemi.modeemi.cs.tut.fi (Postfix) with ESMTP id 0BB0422200 for ; Tue, 18 Nov 2008 12:29:48 +0200 (EET) Received: by jolt.modeemi.cs.tut.fi (Postfix, from userid 17990) id 9E059500D3; Tue, 18 Nov 2008 12:29:47 +0200 (EET) From: Erkki Seppala To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included References: <1227002178.6170.25.camel@Blefuscu> <20081118100625.GA25627@annexia.org> Date: Tue, 18 Nov 2008 12:29:44 +0200 In-Reply-To: <20081118100625.GA25627@annexia.org> (Richard Jones's message of "Tue, 18 Nov 2008 10:06:25 +0000") Message-ID: User-Agent: Gnus/5.110004 (No Gnus v0.4) XEmacs/21.4.18 (linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: Maia Mailguard 1.0.2 X-Spam: no; 0.00; ocaml:01 0100,:01 wrote:01 caml-list:01 writes:01 modules:02 underscore:02 underscore:02 external:03 external:03 module:03 module:03 hierarchy:03 hierarchy:03 let:03 Richard Jones writes: > On Tue, Nov 18, 2008 at 10:56:18AM +0100, David Teller wrote: >> open System.IO;; >> open System.File;; > > Your biggest problem is using dot ('.') instead of underscore ('_'). However, this would take away some of the benefits. For example I prefer using the least amount of opening of modules, to make it easier to see where the values come from, and let module S = System would give me both IO and File reachable through S.IO and S.File. > 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) I'm not sure how beneficial it would be that an external package can extend the hierarchy anyway. Why cannot they simply be put into their own module name space as they are now? If they aren't decidedly part of the Batteries, then perhaps they shouldn't be placed under it; for example, the documentation wouldn't be within Batteries documentation anyway. -- _____________________________________________________________________ / __// /__ ____ __ http://www.modeemi.fi/~flux/\ \ / /_ / // // /\ \/ / \ / /_/ /_/ \___/ /_/\_\@modeemi.fi \/