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 RAA01223; Mon, 2 Apr 2001 17:25:48 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA01391 for caml-list@pauillac.inria.fr; Mon, 2 Apr 2001 17:25:48 +0200 (MET DST) 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 MAA28615 for ; Mon, 2 Apr 2001 12:37:19 +0200 (MET DST) Received: from gatesrv.RZ.UniBw-Muenchen.de (gatesrv.RZ.UniBW-Muenchen.de [137.193.11.27]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f32AbHj21169 for ; Mon, 2 Apr 2001 12:37:17 +0200 (MET DST) Received: from dionysos.informatik.unibw-muenchen.de (dionysos.Informatik.UniBw-Muenchen.de [137.193.60.41]) by gatesrv.RZ.UniBw-Muenchen.de (8.11.2/8.11.2) with SMTP id f32AVGF16112 for ; Mon, 2 Apr 2001 12:31:16 +0200 (MEST) Received: (qmail 1845 invoked by uid 210); 2 Apr 2001 10:33:51 -0000 Date: 2 Apr 2001 10:33:51 -0000 Message-ID: <20010402103351.1844.qmail@dionysos.informatik.unibw-muenchen.de> From: kahl@heraklit.informatik.unibw-muenchen.de To: caml-list@inria.fr CC: Judicael.Courant@lri.fr, garrigue@kurims.kyoto-u.ac.jp In-reply-to: <3AC83117.7C3AD3C9@lri.fr> (message from Judicael Courant on Mon, 02 Apr 2001 09:58:15 +0200) Subject: Re: [Caml-list] Future of labels, and ideas for library labelling References: <20010402123958K.garrigue@kurims.kyoto-u.ac.jp> <3AC83117.7C3AD3C9@lri.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Judicael Courant wrote: > I think beginners are not the problem. Explaining that you have labels > and that arguments may commute seems quite easy to me [...] [...] > You should not sacrifice the Right Way (tm) for compatibility. I mean, > the default way to write a program should be the Right Way (i.e. with > labels): you should encourage people writing a new program/module to use > labels I second this. Now let me be a bit extreme: ;-) Since labels are recognised as the way to go, the next release will most likely have different labellings and different label semantics (at least for previous classic mode users) than the last release. The situation is then very simple: ;-) Everybody has the coice to continue to use the old version, or to upgrade their source code to the new version. ;-) I have had this choice about ten times, and I made the same decision every time! (Project size: growing from about 30 to about 50 modules, 10 to 30 thousand lines.) (I hesitated only once, but that was exclusively for the change in the license conditions.) Even when I needed to adapt a classic-mode third-party application (for purposes not connected with the above-mentioned project), my first move was to labelise it so it compiled in label mode (or was it still OLabl at that time? I don't remember). Given the average enthusiasm of the OCaml commnunity, I am sure that the every OCaml user will immediately follow suit! (In multi-person projects, this might be an excellent way to have the latest newcomer become acquainted with the whole source code in a single day ;-) More seriously: Judicaël continues: > So I think this is the Wrong Approach (tm). Instead, you should provide > an CompatLib (or WithoutLabels) compatibility module for old code and a > possibly a flag for compiling code with an implicit "open CompatLib". As > for other libraries, the Right Way is to have the default libraries with > labels also. Then either you suggest them to move to the Right Way, or > you provide them the needed CompatLibs. I think Jacques' proposal with the '-names is viable, but I agree that from the design perspective, Judicaël's Right Way should be preferred --- it may even be slightly more ``user-friendly'' than my extreme proposal. Cheers, Wolfram ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr