HP 2012.4.0.0 -- Call for Proposals

Roman Leshchinskiy rl at cse.unsw.edu.au
Wed Aug 29 09:56:59 CEST 2012

Ian Lynagh wrote:
> 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."

Yes, this description is quite outdated. Thanks for bringing it to my

> and that it was (AIUI)
> created as a base upon which to build 'vector',

I'm really not sure where this impression comes from. Vector isn't even
mentioned in either the docs or the name :-)

> 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.

None of these describe what the package does since it contains a lot more
than just array primitives.

>> 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.

Well, binary's name is quite general and only vaguely related to its task.
Don't get me wrong, I think it's a perfectly fine name, I just don't see
how primitive is any worse.

>> 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.

To me, this reads as "packages should not use descriptive names" since
there is almost always another package that does roughly the same thing.
In the specific case of primitive, though, I'm actually having trouble
finding another package on Hackage which would want to use the name.


More information about the Libraries mailing list