Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: to have labels or not
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Brian Rogoff <bpr@b...>
Subject: Re: to have labels or not
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