On Tue, Oct 23, 2012 at 12:44 AM, Johan Tibell <johan.tib...@gmail.com> wrote:
> On Mon, Oct 22, 2012 at 9:14 AM, Simon Peyton-Jones
> <simo...@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.

I think *most people* is perhaps an exaggeration.  A *few* people
(including, not by coincidence I'm sure, the maintainers of some
extremely popular packages) treat deprecations as errors.  However,
I'd say that the bulk of code on hackage isn't warning clean, and most
contributors don't notice deprecations until the function is gone.
With ghc-7.6, the most time-consuming change I dealt with was the FFI
requiring data constructors to be in scope.  Although not a
deprecation per se, ghc-7.4 clearly indicated this would be a
requirement in 7.6.  Yet a lot of packages weren't updated until after
the release, and sometimes only after extra prodding (and patch
submissions).

My point is that I would also rather see Rank2Types follow Ashley's
interpretation as meaning "At least rank-2 types are required," which
ghc would fulfill by enabling RankNTypes.  I think the extra turmoil
caused by deprecation and removal isn't worth it.

John L.

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to