what's in a package name?

Andrew Pimlott andrew at pimlott.net
Fri Aug 18 17:32:30 EDT 2006

I just tried creating my first package with Cabal, and chose a package
version, "0", that obeys the rules documented by Cabal:  "a sequence of
one or more integers separated by dots"[1].  But at the end of the
build, I got "ghc-pkg: ambiguous package identifier: foo-0".  (I am
using ghc 6.4.2.)

Simon Marlow already commented on this silly problem[2], but it appears
it was never resolved.  Can someone just decide on the systax of a
package identifier?  Cabal's documented rules seem sane to me:

    A package is identified by a globally-unique package name, which
    consists of one or more alphanumeric words separated by hyphens. To
    avoid ambiguity, each of these words should contain at least one
    letter....  A particular version of the package is distinguished by
    a version number, consisting of a sequence of one or more integers
    separated by dots. These can be combined to form a single text
    string called the package ID, using a hyphen to separate the name
    from the version, e.g. “HUnit-1.1”.


[1] http://www.haskell.org/ghc/docs/latest/html/Cabal/
[2] http://www.haskell.org/pipermail/glasgow-haskell-users/2005-February/007801.html

More information about the Libraries mailing list