Following discussion at #51 and https://discourse.haskell.org/t/the-operator-in-cabal-files/6938/59?u=hasufell I'm starting to question why the specification mentions:
- Haskell (language)
- Cabal and hackage (ecosystem)
I feel it's odd that a pacakge version policy talks about ecosystem effects, build tools and package serving backends.
That makes it a poor spec, in my opinion. The core of it should deal only with versioning and be very abstract about what constitutes public/visible API.
There have been multiple discussions that have constantly creeped into PVP:
- how to deal with upper bounds
- what exactly is API (this line gets blurry with some advanced GHC extensions etc)
I think part 1 is up to hackage and the ecosystem to decide. They can use whatever superset of the spec they want, describe upper bound policies, tooling and so on.
Part 2 is up to GHC HQ/SC to decide. The PVP maintainers shouldn't make those decisions.
As such, I propose to make PVP fully language and ecosystem agnostic.
Following discussion at #51 and https://discourse.haskell.org/t/the-operator-in-cabal-files/6938/59?u=hasufell I'm starting to question why the specification mentions:
I feel it's odd that a pacakge version policy talks about ecosystem effects, build tools and package serving backends.
That makes it a poor spec, in my opinion. The core of it should deal only with versioning and be very abstract about what constitutes public/visible API.
There have been multiple discussions that have constantly creeped into PVP:
I think part 1 is up to hackage and the ecosystem to decide. They can use whatever superset of the spec they want, describe upper bound policies, tooling and so on.
Part 2 is up to GHC HQ/SC to decide. The PVP maintainers shouldn't make those decisions.
As such, I propose to make PVP fully language and ecosystem agnostic.