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 FAA14394; Wed, 21 Mar 2001 05:04:07 +0100 (MET) 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 FAA15859 for ; Wed, 21 Mar 2001 05:04:05 +0100 (MET) Received: from shell16.ba.best.com (shell16.ba.best.com [206.184.139.148]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f2L444902214 for ; Wed, 21 Mar 2001 05:04:04 +0100 (MET) Received: from localhost (def6@localhost) by shell16.ba.best.com (8.9.3/8.9.2/best.sh) with ESMTP id UAA28355; Tue, 20 Mar 2001 20:03:56 -0800 (PST) X-Authentication-Warning: shell16.ba.best.com: def6 owned process doing -bs Date: Tue, 20 Mar 2001 20:03:56 -0800 (PST) From: Chris Hecker X-Sender: def6@shell16.ba.best.com To: John Max Skaller cc: Chris Hecker , caml-list@inria.fr Subject: Re: [Caml-list] recursive modules redux, & interface files In-Reply-To: <3AB796DA.ABD786B1@ozemail.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > There are only two options. [And non-local classes are _always_ extern] > This is not so in Ocaml: you may wish to provide access to a component > such as a function with a type more constrained than the actual > implementation. Yes yes yes, I know this. I'm saying I understand why I need to type stuff if there's a difference betwen the .ml and .mli versions (hiding stuff, restricting stuff, abstracting stuff), and that's fine. I'm asking why I need to retype stuff if it's identical. Check out some of the source code in the compiler, or any ocaml project I've seen (the ICFP winners, whatever). There are tons of really huge variants that are just duplicated in mli and ml. That seems bad, for the same reason that typing a C++ function declaration 2 times is bad. Chris ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr