johan.tibell at gmail.com
Mon Oct 22 18:40:21 CEST 2012
On Mon, Oct 22, 2012 at 9:14 AM, Simon Peyton-Jones
<simonpj at microsoft.com> wrote:
> Do you mean “silently and forever”? Deprecation simply means that
> everything continues to work, but you get a little nudge to change. Isn’t
> that what it’s for? If you treat deprecation as equivalent to error, then
> there isn’t much point in having it.
Most people do treat deprecations as errors; having your compilation
output warning clean makes you less likely to miss those warnings that
are really important.
If you look at some widely used languages, like Java, you see that
they only deprecate things that are really error prone but avoid
deprecations altogether otherwise. When they do deprecate something,
they typically don't remove the deprecated entity, ever.
> It’s possible that making Rank2Types = RankNTypes silently and forever is
> the right answer. It just doesn’t feel right to me. But I’m not a library
> author and I don’t feel terribly strongly.
I think so.
More information about the cabal-devel