[Haskell] QuickCheck revival and Cabal
frederik at a5.repetae.net
Tue Apr 11 13:48:08 EDT 2006
Why not just call it, say, Test.QuickCheck2?
I think module names should reflect only their functionality. I don't
see how "External" or "Contrib" or "Chalmers" would say anything
useful about the functionality of the modules.
A while ago I sent a proposal for "package mounting", which I think
would let us avoid this whole issue:
I am opposed to a situation such as Java's, in which every module is
permanently fixed somewhere in a huge module hierarchy, for the
reasons I describe in the proposal (namely, in part because I don't
think that global-name-choosing should be such a fundamental part of
coding - as you said, it is a source of agony). The proposal was an
attempt to describe an alternative approach.
I think the ideal solution would be:
- Your code is released in a package with modules named "Batch",
"Poly", "Utils", etc., i.e. with no qualification.
- The package has a default mount point of Test.QuickCheck. If people
want the old version, then they can specify the old package instead of
the new package on the compiler/interpreter command line.
The response to my proposal was semi-positive, but I don't think any
work has gone towards implementing it (certainly not by myself).
On Tue, Apr 11, 2006 at 01:02:51PM +0200, Koen Claessen wrote:
> Dear all,
> For the past couple of years, I have been quietly hacking on a brand new
> version of QuickCheck with lots of cool features. I have been
> distributing copies to some friends, but have not released any official
> Now, after lots of peer pressure, the time has come that I want to
> release the current version as a Cabal package.
> I have been agonizing however over where in the module hierarchy the new
> QuickCheck package should be.
> There is currently an old QuickCheck version in the standard hierarchy
> in Test.QuickCheck. As the new QuickCheck is incompatible with the old
> one, I do not want to override that place. Rather, I would like to
> create my own little space in the hierarchy where the new version can
> sit and develop.
> It feels to me that there should be a convention that people use to add
> their own contributions to the module hierarchy without the danger of
> clashing with other packages.
> The first three I like -- but not the last one; I don't want to rule out
> anyone else (except for my own colleagues :-) making their own version
> of QuickCheck and releasing it somewhere in the tree.
> What does one think?
> PS1. Previously discussions about this were referred to the libraries
> mailing list but I feel that this is of interest to the larger crowd too.
> PS2. I welcome myself back to the Haskell mailing list after years of
> inactivity :-)
> Haskell mailing list
> Haskell at haskell.org
More information about the Haskell