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=4.3 required=5.0 tests=AWL,DNS_FROM_RFC_POST, DNS_FROM_SECURITYSAGE,SPF_NEUTRAL 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 464BCBBAF for ; Tue, 18 Nov 2008 12:35:31 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoUBALo3IklC+VyqkGdsb2JhbACTGz4BAQEBCQkMBxEDsjSLUgEDAQOCdoIN X-IronPort-AV: E=Sophos;i="4.33,624,1220220000"; d="scan'208";a="20076752" Received: from ug-out-1314.google.com ([66.249.92.170]) by mail1-smtp-roc.national.inria.fr with ESMTP; 18 Nov 2008 12:35:31 +0100 Received: by ug-out-1314.google.com with SMTP id k3so195647ugf.4 for ; Tue, 18 Nov 2008 03:35:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer:sender; bh=a5SsQCCl22Uyn/U3NWMI6/CkHbANtKEQV7mWv+nzEZo=; b=qwSnP3e1GJBkCswlqMBVCmSYqMjerQqE9r2fMul1ZUzdBnbxnw3xSbF+iIjGagdirB 1T5AovMQuAU5rb560+z+D4YZBwWTDmr/DR1OsCJSobifQTi9hhWyHxpMHpd1NgHOgUVR G6G4528n1g7S/iTFg5opV9kqJrQ7ud39ewto8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer:sender; b=ivgM70XffqYl8byswDSTRK1jGE5v0NekW3ZxTgHLyPRFvD3LQFpMYI44OT7nzSWq6G oroKMfO3MzmAw06nav00bj8ubrOYAzEIBA6foElyyd6Ye1dbkkI30Ze4YWFp3T1IjWfm GS7HUM4Z7P/RCZREGp9rLTfG/HOa+dSweq3gc= Received: by 10.86.60.14 with SMTP id i14mr2850667fga.21.1227008130442; Tue, 18 Nov 2008 03:35:30 -0800 (PST) Received: from ?192.168.1.34? (235-11.77-83.cust.bluewin.ch [83.77.11.235]) by mx.google.com with ESMTPS id e11sm4756393fga.9.2008.11.18.03.35.29 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 18 Nov 2008 03:35:30 -0800 (PST) Message-Id: <421532A1-E2CA-404F-8387-E11DA9B3DE79@erratique.ch> From: =?ISO-8859-1?Q?Daniel_B=FCnzli?= To: OCaml List In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v929.2) Subject: Re: [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included Date: Tue, 18 Nov 2008 12:34:28 +0100 References: <1227002178.6170.25.camel@Blefuscu> <20081118100625.GA25627@annexia.org> X-Mailer: Apple Mail (2.929.2) Sender: =?UTF-8?B?RGFuaWVsIELDvG56bGk=?= X-Spam: no; 0.00; bunzli:01 buenzli:01 ocaml:01 ocaml:01 toplevel:01 caml-list:01 int:01 int:01 data:02 data:02 modules:02 modules:02 essentially:02 hierarchies:03 module:03 Le 18 nov. 08 =E0 11:29, Erkki Seppala a =E9crit : > For example I prefer using the least amount of opening of modules, =20 > to make it easier to see where the values come from Same here. This is why I'm a little bit sceptical about this hierarchy. With the current standard library if I suddenly want to use =20 Int32.of_int, I know I just need to type Int32.of_int in my source. =20 With your proposal I need to remember that it is in Data.Numeric and =20 go at the beginning of my file to open it or write =20 Data.Numeric.Int32.of_int, to me this brings bureaucracy without any =20 benefit. And lack of bureaucracy is one of the reasons I like ocaml =20 (and dislike java for example). Besides Hierarchies are anyway limited in their descriptive power and =20= one day you'll find something that will fit in two places, Rope is =20 already an example being both Data.Persistent and Data.Text. Thus my proposal would be to _present_ them as a hierarchy (but even =20 here a mean to tag/browse the modules with/by keywords would do a =20 better job) but keep the actual module structure of Batteries as flat =20= as possible, everything just under the toplevel Batteries. When I code =20= I really don't want to have to think about all these open directives =20 that essentially bring nothing. Best, Daniel=