Question about the PVP regarding changing A.B when no entities are removed/changed

Herbert Valerio Riedel hvr at gnu.org
Thu Nov 6 11:23:58 UTC 2014


On 2014-11-06 at 12:06:44 +0100, José Pedro Magalhães wrote:
> The PVP <https://www.haskell.org/haskellwiki/Package_versioning_policy>
> seems to allow changing the A.B version numbers in a package even when no
> entities are removed/changed; the phrasing is (my emphasis):
>
>> if only new bindings, types, classes, non-orphan instances or modules (but
>> see below) were added to the interface, then A.B *may* remain the same
>
> However, it seems to require changing the C nonetheless:

It may seem so due, but it surely isn't the intent; the wording can
probably be improved though.


[...]

> I think this is a bit odd. Shouldn't we either:
>
> 1) Require that A.B remain the same when no entities are removed/changed, or
> 2) Only require the C to be greater if the A.B remained the same?

While 1) may be desirable, I don't think it's necessary to *force* it.

While I believe that 2) is matches the intent the current PVP wanted to
express. So it may be a good idea to clarify that aspect by wording
it more explicitly.


PS: IMO, the intent of the PVP is maybe easier to understand if you take
on the point of view of declaring the version bounds when *using* a
package following the PVP scheme, see also

  https://www.haskell.org/haskellwiki/Import_modules_properly

Cheers,
  hvr


More information about the Libraries mailing list