From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id E81B6D45F for ; Wed, 2 Nov 2005 11:28:58 +0100 (CET) Received: from furbychan.cocan.org (furbychan.cocan.org [80.68.91.176]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jA2ASu1L024661 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Wed, 2 Nov 2005 11:28:58 +0100 Received: from rich by furbychan.cocan.org with local (Exim 3.35 #1 (Debian)) id 1EXG9w-0001Kh-00; Wed, 02 Nov 2005 10:48:00 +0000 Date: Wed, 2 Nov 2005 10:47:59 +0000 To: Daniel =?iso-8859-1?Q?B=FCnzli?= Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Nesting Modules Message-ID: <20051102104759.GA5067@furbychan.cocan.org> References: <43679EEF.70102@confluent.org> <20051102094613.GA8506@furbychan.cocan.org> <1E27D2C8-E4BC-4AC2-86BF-BD906F4CDD25@epfl.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1E27D2C8-E4BC-4AC2-86BF-BD906F4CDD25@epfl.ch> User-Agent: Mutt/1.3.28i From: Richard Jones X-Miltered: at nez-perce with ID 436894E8.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 nesting:01 notepad:01 wrote:01 functions:01 modules:01 modules:01 module:03 module:03 notion:04 daniel:04 suppose:05 marketing:93 bottom:93 bottom:93 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_FAIL autolearn=disabled version=3.0.3 On Wed, Nov 02, 2005 at 10:57:37AM +0100, Daniel Bünzli wrote: > This doesn't scale well, suppose that I want to extend Top_Bottom, > then I have a module called Top_Bottom_Myextension. I think 'include' > is a better mechanism if you need to extend modules. Well that's if you want to add more functions to Top_Bottom; obviously 'include' would be the way forwards there (or the equivalent notion where you mirror the definitions from the base module which is how ExtLib works). However consider a database layer: Database Database_Postgres Database_MySQL Obviously '_' is the way to go here if you want multiple third parties to provide database modules. 'include' wouldn't work at all here. Rich. -- Richard Jones, CTO Merjis Ltd. Merjis - web marketing and technology - http://merjis.com Team Notepad - intranets and extranets for business - http://team-notepad.com