[Haskell-cafe] Backward compatibility

Ertugrul Söylemez es at ertes.de
Fri May 3 10:44:01 CEST 2013


Adrian May <adrian.alexander.may at gmail.com> wrote:

> I really don't know why somebody can't make a simple and well
> intentioned point without getting attacked by people who feel
> threatened over every little thing.

It's because we're failing to see the problem.  I mean, if you can
pinpoint the source of your problems we could work on a solution, and we
would be happy to do that.  However, it is important to keep in mind
that Haskell is very active and things change a lot.  This is not a
problem, it's the mindset of this community.  If you are turning it into
a problem, feel free, but then the only suggestion I can make here is
that Haskell is probably not the right choice for your particular
development strategy.

In other words, for Haskell it's simply wrong to assume that you can use
legacy code that hasn't been maintained for many years.  Regardless of
whether you like it, this is the way to go.  If you want to use Haskell,
be prepared to maintain your code.  This usually boils down to making
small adjustments.  When the big breaking change in the base library
came I had to adjust a number of type signatures in my projects and I
was done.  These adjustments become necessary from time to time, and you
should be ready to perform them.


> I said from the start that I think Haskell is cool.

Unfortunately that doesn't really help.  What you are trying to achieve
is a shift in our fundamental philosophy, which is very unlikely to
happen, even if the shift is small.  Using Haskell is great, but does
require you to keep up to date.

The other option is to go with old compiler and library versions.  They
are all available, if you need them for your project, but this is a bad
solution.


> I'd just like it to pay a bit more attention to practical issues
> whilst making progress with its theoretical ones.

It's very difficult to combine those.  Communities solve these problems
differently.  Most communities try to keep compatible at the expense of
eliminating much of the potential for innovation.  The Haskell community
prefers to go the innovation route and is prepared to repair occasional
breakages.  They do occur, and we fix them.


> Why don't you just put it in the forum rules that nobody is ever
> allowed to criticise anything?

Because that's wrong.  I criticize things a lot, sometimes with a much
stronger tone than you did. =)


> At the end of the day, I'm just a typical manager who's atypical in
> wishing he could tell his programmers to study a bit of Haskell
> without making it a synch for the manager next door to knife him in
> the back for suggesting something that looks this unstable. This is
> the real deal on how Haskell looks out there in the mass market. You
> can lead a horse to water...

If it's your decision, you shouldn't be afraid to make it.  You are the
manager of your team!  Don't let yourself be stabbed by another manager.
Recognize that your choice can lead to higher productivity, if you don't
let yourself be distracted by this pointless matter.  And yes, it is
pointless.  If you simply move on and get to productive Haskell work,
you will find that this is a non-issue.

In particular, you want to make educated decisions, which means that you
should probably research the current standards in the Haskell community.
If you would have performed that research from the beginning, you would
have come to the conclusion that WASH was a bad choice to begin with,
which leads me to another very important point:

I have worked in many SCRUM-based teams.  While I could question the
general usefulness of this paradigm, I have to say that it has taught me
a number of very important things, and one thing in particular:
Programmer choices should be made by programmers.  You shouldn't have
made the decision about the web framework in the first place.  Get a
team of Haskell programmers and let them choose the best tool for the
job.


Greets,
Ertugrul

-- 
Not to be or to be and (not to be or to be and (not to be or to be and
(not to be or to be and ... that is the list monad.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130503/bc9fe362/attachment.pgp>


More information about the Haskell-Cafe mailing list