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 HAA29014; Sun, 18 May 2003 07:34:34 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id HAA28027 for ; Sun, 18 May 2003 07:34:33 +0200 (MET DST) Received: from relay.pair.com (relay.pair.com [209.68.1.20]) by concorde.inria.fr (8.11.1/8.11.1) with SMTP id h4I5YWH10808 for ; Sun, 18 May 2003 07:34:32 +0200 (MET DST) Received: (qmail 8448 invoked from network); 18 May 2003 05:34:29 -0000 Received: from arda.pair.com (HELO compaqreview.d6.com) (209.68.1.133) by relay.pair.com with SMTP; 18 May 2003 05:34:29 -0000 X-pair-Authenticated: 209.68.1.133 Message-Id: <4.3.2.7.2.20030517192812.033d9040@localhost> X-Sender: checker@localhost X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Sat, 17 May 2003 22:32:54 -0700 To: "'caml-list@inria.fr'" From: Chris Hecker Subject: Re: [Caml-list] ocaml and large development projects In-Reply-To: <3EC26621.9060905@cs.caltech.edu> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Spam: no; 0.00; hecker:01 checker:01 caml-list:01 mli:01 cmx:01 attributed:01 scaling:01 compiler:01 chris:01 inconsistent:01 ocaml:01 recompile:01 surprising:01 native:02 modules:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk >One issue to be aware of: if you build native code, when you change a >module, then all dependent modules must be recompiled. This can be >surprising when a small change to a utility module causes a near full >recompile of the project. The byte-code compiler does not have this >issue, and is sufficient for testing in most cases. Is this true? The cmi file for the interface doesn't insulate you from this in native code? My project is native code, but I haven't been using mlis yet, because of the annoying interface-code-duplication-issue when changing things often is a huge pain, but I assumed this would just work correctly (meaning if the mli doesn't change then dependents won't recompiler) when I started using mlis to speed up my builds. I've seen problems when doing simple tests before ("Files b.cmx and a.cmx make inconsistent assumptions over implementation A") that I just attributed to my screwups in the quick tests, but now I think they're this problem. Another quick test indicates you're right. Uh, isn't this a major flaw in the compiler? Why does this happen? This seems like a vital part of scaling native code projects that's broken...I was certainly counting on it working correctly quite soon. 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