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 NAA16069; Thu, 22 Mar 2001 13:02:40 +0100 (MET) 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 NAA07005 for ; Thu, 22 Mar 2001 13:02:39 +0100 (MET) Received: from tcs.inf.tu-dresden.de (tcs.inf.tu-dresden.de [141.76.75.101]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f2MC2cT07257 for ; Thu, 22 Mar 2001 13:02:39 +0100 (MET) Received: from ithif51 (ithif51 [141.76.75.51]) by tcs.inf.tu-dresden.de (8.11.1/8.11.1) with ESMTP id f2MC2cH01500 for ; Thu, 22 Mar 2001 13:02:38 +0100 (MET) Received: from tews by ithif51 with local (Exim 3.12 #1 (Debian)) id 14g3nW-0001gD-00 for ; Thu, 22 Mar 2001 13:02:34 +0100 From: Hendrik Tews MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: caml-list@inria.fr Subject: Re: [Caml-list] recursive modules redux, & interface files In-Reply-To: <20010321194138.A29405@pauillac.inria.fr> References: <4.3.2.7.2.20010318142842.00d85300@shell16.ba.best.com> <20010321194138.A29405@pauillac.inria.fr> X-Mailer: VM 6.34 under Emacs 20.7.2 Message-Id: Date: Thu, 22 Mar 2001 13:02:34 +0100 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi, I would like to vote for solutions that work for the common case when writing large programs, even if they are hacks, considered from a theoretical point of view. Xavier Leroy writes: [cross module recursion] A.mli val x : int B.mli val y : int A.ml let x = B.y + 1 B.ml let y = A.x * 3 We don't know how to evaluate these definitions correctly -- indeed, there is no integer solution to this recursive definition. I think that in this case the theoretical cleaness is overrated. Cross module recursion of functions is soo useful, that it should be made to work --- even if the solution seems stupid with respect to the example above. [duplications in signatures and structures] Is the practical value of this kludge enough to forget that it's a kludge? Sure. Can't we live with the current duplication of concrete type definitions in the name of systematic, principled module systems? No, at least I cannot. Also here I would suggest to have a solution that works for the common case. What about changing include, such that including a signature into a structure includes all types and all exceptions? Bye, Hendrik ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr