English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Pervasives.compare output type
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-03-30 (18:21)
From: Jacques Carette <carette@m...>
Subject: Re: [Caml-list] Pervasives.compare output type
brogoff <brogoff@speakeasy.net> wrote:
> Speaking as an industrial user, I don't see it as such an either/or. I'd
> prefer that enhancements (thisisn't a bug) which require rewriting code
> be done as few times as possible, so that each release doesn't require
> rewriting code. So, let's say for example that the implementors decide to
> change this, and to fix evaluation order to be left to right, I'd prefer
> that it were done in one release, rather than two separate ones.

If I were still in a position to decide such things, that is indeed what I would do:  assuming yearly releases, then 
every third release would be a 'big' one where large changes would be introduced together, and with a couple of 
releases in between that were as backwards compatible as possible.

> I think even industrial users should realize that OCaml is a research langauge,
> and while we're grateful that it is generally quite stable from relase to
> release, that research goals take some precedence. Maybe one day the
> implementors will decide to "radically" change things, as in the move from
> Caml Light to Caml Special Light/OCaml.

My experience (~15 years with the one piece of software, with access to its full history) with software that is now 25 
years old is that 'major' changes should be planned every 3 years, and 'radical' changes every 6-7 years.  That should 
be sufficient to keep the softare healthy and progressing.  I have seen the effect of periods of 6-9 years of relative 
sclerosis (ie basically only new features), and the result was a lot of bloat with questionable new features and much 
less progress on the 'core'.

Of course, the core of OCaml is much more solid than what I was working on.  It is based on very solid theory, which 
also helps a lot.

But theory is also advancing rapidly.  Haskell 6.4's inclusion of GADTs in the core language is exerting a powerful 
pull on me.  On another front, System E looks like a promising 'replacement' for System F based polymorphism - that 
might be a 'radical' change ;-).  But right now metaocaml is keeping me programming in ocaml...