From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA30623; Tue, 7 Sep 2004 15:39:31 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA30162 for ; Tue, 7 Sep 2004 15:39:30 +0200 (MET DST) Received: from mproxy.gmail.com (rproxy.gmail.com [64.233.170.198]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id i87DdUH0003184 for ; Tue, 7 Sep 2004 15:39:30 +0200 Received: by mproxy.gmail.com with SMTP id 77so184195rnl for ; Tue, 07 Sep 2004 06:39:29 -0700 (PDT) Received: by 10.38.78.70 with SMTP id a70mr1974310rnb; Tue, 07 Sep 2004 06:39:29 -0700 (PDT) Received: by 10.38.15.47 with HTTP; Tue, 7 Sep 2004 06:39:29 -0700 (PDT) Message-ID: <8008871f040907063960835f65@mail.gmail.com> Date: Tue, 7 Sep 2004 09:39:29 -0400 From: "Christopher A. Watford" Reply-To: "Christopher A. Watford" To: brogoff Subject: Re: [Caml-list] Circular module dependencies Cc: caml-list@inria.fr In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <200409070917.18022.edgin@slingshot.co.nz> <20040907161253.2799ada5.ocaml-erikd@mega-nerd.com> X-Miltered: at nez-perce with ID 413DBA12.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 dependencies:01 2004:99 brogoff:01 brogoff:01 cyclic:01 renaming:01 cyclic:01 dependencies:01 dorm:99 ocaml:01 speakeasy:01 sep:01 module:03 circular:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Tue, 7 Sep 2004 05:36:18 -0700 (PDT), brogoff wrote: >>>SNIP>>> > In general, I agree that this can be a design error, but refactorings that > are reasonable for toy code posted during an internet email discussion may not > make sense when we're talking about files that are tens of thousands of lines > long even in very high level languages. Scale changes everything. > > -- Brian I run across this problem all the time at work with C/C++ header files. The difference here is C/C++ allows forward declarations which remove the need for cyclic includes. However, it adds on maintenance requirements for renaming structures and classes and their declarations all over the place if things get messy. I'm glad OCaml atleast 'seems' to have a more well defined approach to cyclic dependencies. -- Christopher A. Watford christopher.watford@gmail.com http://dorm.tunkeymicket.com ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners