On Feb 26, 2009, at 12:12 PM, Achim Schneider wrote:
I think that arguing that Haskell is _obsolete_ because it isn't yet
fully dependently typed is vastly mistaken.
I never said it was obsolete. Far from it. But I did say that choices
already made and codified into H98 have implications on the future
evolution of Haskell, because Haskell is unlikely to deviate in ways
that significantly break backward compatibility.
One thing is for sure: All progress will be stopped dead if the
community starts to listen to people who demand "enterprise-
readiness".
What do you mean by "progress"? I noted before that there are
tradeoffs. Constraining the evolution of the language in backward
compatible ways leads to substantial improvements in tools, libraries,
and the speed of compiled code. That's progress in several dimensions
-- just not along the dimension of "language".
I seriously doubt that backwards compatibility will ever be broken to
the point of non-inoperation, but I certainly expect -- and do, in
some
sense, hope -- it to be broken, to the point where you can't mix H98
and H' source because they are mutually incompatible, either in
syntax,
semantics, or both, as long as you can still comparably painlessly
link
them.
We'll see. First we have to know what H' is going to look like, which
is a long ways off.
If your business is fine with that, you shouldn't have any problems. I
can imagine a lot of companies currently using Haskell wouldn't be
happy with freezing Haskell, at all: They don't mind updating their
code to the state of the art.
The problem with completely fluid languages is that they impose
arbitrarily high costs on those who choose them. That's why companies
prefer well-defined standards and strong backwards compatibility. And
that's why such languages eventually die, from lack of innovation --
even if 40 years later there are still developers forced to maintain
software written in them.
An intermediate solution is providing a source-to-source translator
that flawlessly converts older source code into newer source code. Add
binary compatibility, and then the only real disadvantage in language
evolution becomes retraining and tools. Which are both significant
costs, to be sure, but not as significant as the former.
Regards,
John A. De Goes
N-BRAIN, Inc.
The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe