[Haskell-cafe] statep haskell-lang [was: Re: Hoogle and
Network.Socket]
John A. De Goes
john at n-brain.net
Thu Feb 26 14:30:47 EST 2009
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
More information about the Haskell-Cafe
mailing list