Libraries and hierarchies
Simon Marlow
simonmar@microsoft.com
Mon, 11 Aug 2003 11:24:39 +0100
Alastair Reid writes:
=20
> Note that URIs make pretty good unique package names. When=20
> used this way, URIs can take several forms:
>=20
> 1) The URI can be a pointer to an actual file to be downloaded like=20
> http://haskell.org/greencard/gc-3.01.tar.gz
>=20
> This is a good choice because it often exists for publicly=20
> released software=20
> and following the pointer produces something useful. The=20
> pointer usually=20
> contains a version number and so will be unique.
>=20
> 2) The URI is of the form=20
> http://organization/local-package-name/version and=20
> does not point to an actual file you can download.
>=20
> The organization is the URI to some group that is handing out=20
> locally unique=20
> package names. Some example organizations might be:
>=20
> haskell.org
> sourceforge.org
> reid-consulting-uk.ltd.uk
> microsoft.com/~simonpj
> microsoft.com <- an independent organization from ~simonpj
Ok, but as I mentioned before we'd like to keep package names as short
as possible, for two reasons: they will be included in symbol names in a
compiled library, and because it's just easier to talk about "hgl-1.0"
than it is to talk about "http://haskell.org/packages#hgl-1.0".
So let me suggest a compromise. I suspect that using haskell.org as the
main organisation which hands out package names will be fine for a long
time to come, so lets use the convention that
If the package name is not an absolute URI, then it is taken to be
relative to http://haskell.org/packages.
This doesn't conflict with your scheme, but lets us get away with short
package names for most purposes.
Thoughts?
Cheers,
Simon