From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA21160 for caml-redistribution@pauillac.inria.fr; Sun, 2 Apr 2000 23:25:20 +0200 (MET DST) Resent-Message-Id: <200004022125.XAA21160@pauillac.inria.fr> 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 WAA13631 for ; Wed, 29 Mar 2000 22:32:58 +0200 (MET DST) Received: from shell5.ba.best.com (shell5.ba.best.com [206.184.139.136]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id WAA20906 for ; Wed, 29 Mar 2000 22:32:52 +0200 (MET DST) Received: from localhost (bpr@localhost) by shell5.ba.best.com (8.9.3/8.9.2/best.sh) with ESMTP id MAA20584; Wed, 29 Mar 2000 12:32:18 -0800 (PST) Date: Wed, 29 Mar 2000 12:32:18 -0800 (PST) From: Brian Rogoff To: John Max Skaller cc: caml-list@inria.fr Subject: Re: to have labels or not In-Reply-To: <38DC3942.7A0919B@maxtal.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Resent-From: weis@pauillac.inria.fr Resent-Date: Sun, 2 Apr 2000 23:25:20 +0200 Resent-To: caml-redistribution@pauillac.inria.fr On Sat, 25 Mar 2000, John Max Skaller wrote: > Jacques Garrigue wrote: > > > So here's a suggestion. Get rid of classic mode. > > > But have TWO complete standard libraries: > > > > > > module Classic = .. put classic modules here .. > > > module Olabl = put labelled versions here > > > > We thought about that. And even tried it before releasing 2.99. > > I am the one who pushed against this solution, because I felt this > > would really cause a community split. > > The community started out split, and has been brought closer together > by the ocaml/olabl merger. But the community is _still_ split because > the usage of the modes is incompatible: we have two languages and one > library. > The way I see it, two libraries and one language reduces the split > again. > I do _not_ see this as idea -- OR permanent. But having two libraries > is a temporary hack to allow a full merger of the languages, and to > focus on an acceptable compromise to get one library. I agree with John Skaller on this. Two libraries seems like a better compromise than two modes. There is also some precedent here in that the standard libraries were never "OO-ized" after an object system was added to Caml. There just doesn't seem to be a good solution to this problem, i.e., one which will leave everyone happy. This is the human engineering part of programming language design, and since it appears a lot of Caml programmers find labels too heavy for their programming style I think we should go with the rule "When in doubt, leave it out". Out of the standard library that is. I'm not happy with this, as I prefer the labeled style, but it appears that the community is already somewhat split. Of course, some people may complain (as Jacques suggested) about the labels in certain libraries infecting their code if modern/labeled mode became the only mode but I think that's a minor problem that can be solved by those people by writing wrappers. > BTW: I'm not claiming two libraries is the right solution > either. I really don't know. Yes, it's certainly not a solution that makes you slap your head and go "Why didn't I think of that?" but it seems to be an improvement. -- Brian