deprecating

Bryan O'Sullivan bos at serpentine.com
Mon Oct 22 19:00:32 CEST 2012


On Mon, Oct 22, 2012 at 4:14 PM, Simon Peyton-Jones
<simonpj at microsoft.com>wrote:


> Do you mean “silently and forever”?
>

I think that's what I mean, yes.

As Johan notes, many of us run our continuous builds of our packages with
-Wall -Werror in order to keep them as clean as possible. Introducing a
deprecation thus forces me into some kind of response as my builds all
suddenly fail: I can either turn off -Werror for a package, or edit the
affected source files.

I'm not arguing that the compiler shouldn't be improved, but seemingly
trivial changes like the above deprecation can and do now come with
surprisingly expensive consequences for users of the compiler. I noted that
when catch got dropped from Prelude during the 7.6 cycle, it took me almost
two weeks of spare time to fix up all of the build errors in packages I
wrote, and somewhat longer to sort out build problems in packages
maintained by other people.

Some breaking changes are clearly worthwhile; others are clearly not; and
there are plenty more on the continuum between the two. This particular one
seems closer to the "clearly not worth it" end of the spectrum: not
trivially obviously a bad idea, but in my opinion definitely not worth the
disruption it threatens.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/cabal-devel/attachments/20121022/58c4d550/attachment.htm>


More information about the cabal-devel mailing list