Roman Cheplyaka | 20 Feb 01:44 2013

ANNOUNCE: smallcheck-1.0

I am glad to announce a new major release of SmallCheck,
a property-based testing library for Haskell.

The major changes in this release are documented here:
http://ro-che.info/articles/2013-02-19-smallcheck.html

Roman
Johannes Waldmann | 20 Feb 17:22 2013
Picon

package show needs upper version bound for smallcheck?

Since smallcheck-1.0 contains API changes -

Could the maintainers of "show"
http://hackage.haskell.org/package/show-0.4.1.2
please add some version bound (< 1  or similar)
for the smallcheck dependency?

Thanks - J.W.
Johannes Waldmann | 22 Feb 16:57 2013
Picon

Re: package show needs upper version bound for smallcheck?


> Could the maintainers of "show"
> http://hackage.haskell.org/package/show-0.4.1.2
> please add some version bound (< 1  or similar)
> for the smallcheck dependency?

Thanks for the quick reaction.
show-0.5 now depends on smallcheck>=1.0 
This works until the next API-breaking change in smallcheck ...

I admit that I find too-detailed upper bounds on dependencies
impractical as well, because they make upgrades really painful; 
so mostly I'm too lazy to write any bounds. 
Which is a bad idea, as the above example shows.

Perhaps a dependency on a major version (only) 
could be a reasonable policy (smallcheck == 1.*)

PS: Anyway the underlying problems that these policies
try to solve (did the API "really" change? 
did the observable behaviour of the implementation change?)
can only be solved by formal specification and verification.

(e.g., you write down the full specification of a "sort" function,
then a machine can check whether some library contains some function 
that claims to fulfil this spec, and it can also check
whether the claim holds true - if the implementation comes with a proof)

(Corollary: Agda would not need a package versioning policy
because it can solve these problems at the language level :-)
(Continue reading)


Gmane