Meta-point: backward compatibility

Henrik Nilsson nhn at Cs.Nott.AC.UK
Thu Apr 24 04:31:00 EDT 2008

Hi all,

Manuel wrote:

 > As I have argued before on the committee list, I also think we should 
 > *not* worry about backwards incompatible changes too much in cases
 > where a simple automatic translation from H98 to H' code is possible.

Yes, tools can and should help with migration, and we should keep
that in mind. In particular, complicated language design to
incorporate new features while maintaining backwards compatibility
should be avoided where old code and new code easily can be
made to work together through a compiler compatibility flag.
(The discussion on records/labelled fields spring to mind.)

However, I still think it is important to be conservative when
it comes to breaking changes and either only consider them
when the impact really would be very small, or when it is agreed
it is a really important change.

Even if there are tools to help with code, effort is still involved
to fix the breaks, and thus it ought to be completely clear that the
effort is worth it.

And there is not only code: there are papers and books too!

And finally, unless we're fairly strict, we'll be bogged down in a flood
of discussion on gratuitous and ultimately rather superficial changes.
The associativity of "$" is a case in point.

So, the criteria I proposed still seem quite reasonable to me.
But I'm biased, of course! :-)


Henrik Nilsson
School of Computer Science
The University of Nottingham
nhn at

This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.

More information about the Haskell-prime mailing list