On Wed, Apr 9, 2014 at 2:17 PM, Herbert Valerio Riedel <hvriedel@gmail.com> wrote:
On 2014-04-09 at 12:00:36 +0200, Johan Tibell wrote:
> *Short term*
>
>    - Make sure we only bump the major version number when we actually make
>    a breaking change. We don't need to bump base because the major GHC version
>    number changed.

Fwiw, I did go over the changes in base-4.7.0.0 when I compiled the
changelog to check whether the major bump was justified; but since a
couple of deprecated functions where removed, several new typeclass
instances were added (however, this isn't a justification anymore), the
rather disruptive Typeable change occured, as well as the PrimBool
changes (which may leak into the API exposed by base) I believed it was
well justified.

I wasn't aware there was a more detailed changelog. Thanks for pointing it out. I just wanted to make sure we're all on the same page here.
 
>    - Try harder to not make breaking changes. Breaking changes has a very
>    high cost to users and are seldom worth it to them. For example, avoid
>    renaming functions just because the new name feels cleaner. Just add a new
>    function and have the old function call the new function. All successful
>    languages do this.

Aren't we already following this practice in base?

I am and I'm hoping others are too. Since hope is not a strategy I just thought I'd spell it out to make sure we all agree.

-- Johan