[Haskell-cafe] Proposal: remove "Stability" from haddock documentation on hackage
James Cook
mokus at deepbondi.net
Tue Jun 7 15:05:49 CEST 2011
On Jun 6, 2011, at 10:57 PM, Chris Smith wrote:
> I got asked a question today about why Control.Applicative is
> labeled as
> "experimental" on Hackage. Perhaps that field is something of a
> failed
> experiment, and it remaining there is likely to confuse people.
>
> Just a thought... not sure of the best place to mention it.
>
As far as Control.Applicative, I'm not sure to what package you're
referring. That label doesn't apply to modules, it applies to
packages, and Control.Applicative is a part of the "base" package
(which is not labeled experimental).
Regarding the Stability field itself, I strongly believe in it. I
like to know whether code I'm thinking about using is likely to have
15 new versions in the next month or whether its interface is likely
to change drastically with the next release. When releasing packages
I also like to be able to state that it's a work in progress and that
I decline to promise forward compatibility. If I release a package
labeled "experimental", I don't feel nearly as bad making major API
changes because any users that might have picked it up have had fair
warning. On the other hand, if I've marked it "stable" or even
"provisional", I know I need to make a stronger effort to preserve
source-level compatibility.
It's good, in my opinion, to be able to state succinctly in a
standardized way that, although it does something now, what the code
does and how it does it are probably going to change in the future.
The name of the field could be better, though. On first exposure,
people tend to think "stability: experimental" or "stability:
unstable" means the package is likely to crash (For those who don't
know, it means the API is likely to change in future releases).
-- James
More information about the Haskell-Cafe
mailing list