From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 4C635BC0B for ; Sat, 16 Dec 2006 14:52:40 +0100 (CET) Received: from anthony.ics.uci.edu (anthony.ics.uci.edu [128.200.39.241]) by concorde.inria.fr (8.13.6/8.13.6) with SMTP id kBGDqcC9004027 for ; Sat, 16 Dec 2006 14:52:39 +0100 Received: (qmail 1228 invoked by uid 1000); 16 Dec 2006 13:53:53 -0000 Date: Sat, 16 Dec 2006 05:53:53 -0800 From: Christian Stork To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] How to refactor a large Ocaml program Message-ID: <20061216135353.GA425@anthony.ics.uci.edu> References: <457FF423.7000703@abc.se> <45800CD5.8050401@janestcapital.com> <458106BD.7060103@abc.se> <4581560E.6020109@janestcapital.com> <4582C03F.20207@bik-gmbh.de> <6b8a91420612160214n6db6cc7dt5690b3c5915e61d0@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6b8a91420612160214n6db6cc7dt5690b3c5915e61d0@mail.gmail.com> X-Archive: encrypt User-Agent: Mutt/1.5.11 X-Miltered: at concorde with ID 4583FA26.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; refactor:01 ocaml:01 0100,:01 hars:01 hars:01 bik-gmbh:01 ocaml:01 compiler:01 annotation:01 unify:01 806:98 021:98 polymorphic:01 wrote:01 wrote:01 On Sat, Dec 16, 2006 at 11:14:13AM +0100, Remi Vanicat wrote: > 2006/12/15, Florian Hars : > >Brian Hurt wrote: > >> Compile them all, let Ocaml sort things out. > >Except that more often than not the compiler will flag the type error > >at one of the locations where the type is already the way you want it > >and you have to hunt through all other files in your project trying to > >divine where the conflicting type assignment comes from. > You can then explicitly declare the type you want, and the error will > be found where it is. Unless it's a polymorphic type, in which case the type annotation only has to unify with the offending location's type. -- Chris Stork <> Support eff.org! <> http://www.ics.uci.edu/~cstork/ OpenPGP fingerprint: B08B 602C C806 C492 D069 021E 41F3 8C8D 50F9 CA2F