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.8 required=5.0 tests=AWL,DNS_FROM_SECURITYSAGE, SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 7EA9BBBAF; Thu, 20 Nov 2008 11:33:05 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvECALjLJElQRFuwgWdsb2JhbACTWwEBFiK+PIJ8 X-IronPort-AV: E=Sophos;i="4.33,639,1220220000"; d="scan'208";a="19366800" Received: from furbychan.cocan.org ([80.68.91.176]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 20 Nov 2008 11:33:05 +0100 Received: from rich by furbychan.cocan.org with local (Exim 4.63) (envelope-from ) id 1L36qN-0006bj-O8; Thu, 20 Nov 2008 10:33:03 +0000 Date: Thu, 20 Nov 2008 10:33:03 +0000 To: Nicolas Pouillard Cc: Maxence Guesdon , Caml_mailing list , Paolo Donadeo Subject: Re: [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included Message-ID: <20081120103303.GA25346@annexia.org> References: <1227002178.6170.25.camel@Blefuscu> <200811182330.03947.jon@ffconsultancy.com> <1227076192.6290.7.camel@Blefuscu> <4b5157c30811190146l2c6a5e2cv4a085bcc14ae5f4@mail.gmail.com> <20081119211124.51610ae9@alcazar.inria.fr> <1227172839-sup-5973@ausone.inria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1227172839-sup-5973@ausone.inria.fr> User-Agent: Mutt/1.5.13 (2006-08-11) From: Richard Jones X-Spam: no; 0.00; ocaml:01 0100,:01 printf:01 20,:98 wrote:01 caml-list:01 data:02 data:02 define:02 modules:02 modules:02 organized:02 consistent:02 external:03 installer:03 On Thu, Nov 20, 2008 at 10:28:07AM +0100, Nicolas Pouillard wrote: > No one (I guess) would recommend you to use fully qualified paths as in > Data.Containers.List.length of course. Data.Containers.List.length is the > external name, made to be well organized not to be quick to type, the way > to use it to open it *OR* to define an internal name for it : > > module L = Data.Containers.List > > And then use L.length, L.map... I've lost the plot on what problem are we trying to solve .. except for the original one which is "Windows users are too stupid to use a packaging system, so let's give them everything in a single installer". But surely having everyone using privately named modules is a bad idea? The private names chosen won't be consistent, and they require a reference back to the top of the code to find out which module they are really using. Encouraging developers to open modules is also usually a bad idea, except in very limited circumstances (hello Printf). Rich. -- Richard Jones Red Hat