[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| 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... Jacques