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 GAA07367; Mon, 17 Mar 2003 06:12:52 +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 GAA06629 for ; Mon, 17 Mar 2003 06:12:51 +0100 (MET) Received: from relay.pair.com (relay.pair.com [209.68.1.20]) by nez-perce.inria.fr (8.11.1/8.11.1) with SMTP id h2H5CoX11982 for ; Mon, 17 Mar 2003 06:12:50 +0100 (MET) Received: (qmail 31333 invoked from network); 17 Mar 2003 05:12:47 -0000 Received: from arda.pair.com (HELO compaqreview.d6.com) (209.68.1.133) by relay.pair.com with SMTP; 17 Mar 2003 05:12:47 -0000 X-pair-Authenticated: 209.68.1.133 Message-Id: <4.3.2.7.2.20030316205959.045990d8@localhost> X-Sender: checker@localhost X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Sun, 16 Mar 2003 21:08:36 -0800 To: brogoff@speakeasy.net From: Chris Hecker Subject: Re: Module recursion (Was Re: [Caml-list] Re: Haskell-like syntax) Cc: "caml-list@pauillac.inria.fr" In-Reply-To: References: <4.3.2.7.2.20030315213334.037caf08@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Spam: no; 0.00; hecker:01 checker:01 recursion:01 caml-list:01 haskell-like:01 recursively:01 refactor:01 decoupling:01 scream:01 chris:01 mixin:01 ocaml:01 caml:01 syntax:02 compile:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk >Are you sure you agree? I agree with what I thought you were saying. :) I thought we had the same high-concept, which is just that you can apply the 80/20 rule here and do _something_ to alleviate the DAG module problem without doing some totally general thing like Tom's mixin modules thing. I think 80% of the problem for me would be solved by allowing recursive function calls. The next 15% would be solved by allowing types to recurse (the example you asked for is two records that refer to each other). The next 5% is everything else. But, I'd happily take just functions calling recursively across modules, because that would just be huge, and allow me to refactor into smaller modules, increasing compile speed, decoupling, etc. I would even be happy with this in as a temporary feature and I'd have to rewrite code when the real thing came along. I actually wish the ocaml team was a bit more interested in these kinds of temporary experimental things. I guess people scream when features get taken out, but it's way better to do this sort of thing now than later when there are more caml users. Chris ------------------- 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