
On Tue, Aug 28, 2012 at 08:58:15PM +0100, Roman Leshchinskiy wrote:
On 28/08/2012, at 10:26, Simon Peyton-Jones wrote:
Geoff, Simon M, and I have just realised that · vector (which we would like to be included in HP) depends on primitive · And primitive is a Terrible Name for a package. Really unacceptably bad.
Hmm, I'm not sure I agree :-)
Could you please explain why it's so terrible?
I can't speak for Simon, but I've always thought it overly-generic. Given the description starts "This package provides wrappers for primitive array operations from GHC.Prim." and that it was (AIUI) created as a base upon which to build 'vector', I would suggest that one of array-primitive primitive-array vector-primitive primitive-vector would be a better name. I don't know enough about it to know whether 'array' or 'primitive' would be better, and I don't know if there is precedent for whether 'primitive' should come first or last.
I'm not really sure why it is worse than, say, binary. Or vector, for that matter.
Hopefully, binary and vector are the obvious, natural APIs for their tasks. If vector only supported vectors or Ints, for example, then I think that it ought to be renamed int-vector. But seeing as it has a "Vector a" type, and offers the expected functions such as map :: (a -> b) -> Vector a -> Vector b the name appears appropriate to me (at least, based on a very cursory look).
In any case, if a lot of people really want to rename it I'd be ok with that provided I like the new name but frankly, I don't really see the point. The package is 3 years old and this is the first time anybody has complained about the name.
No-one asked me before :-) Actually, I did suggest having admins approve new package names when Hackage was first created, but the people doing the work didn't think it would be a problem. And to be fair, the handful of times I know of a naming issue being raised, I think the maintainer has been happy (or at least willing) to rename.
If it is to be renamed, though, then I would really find it useful to have agreed upon guidelines on what constitutes a Terrible Name so that I can try to avoid picking one in the future.
It would very much have to be a guideline as opposed to a rule, but I'd suggest something like: A package should not use a descriptive name that another package might be equally- or more-deserving-of. Thanks Ian