On Dec 2, 2011, at 7:48 PM, David Golden wrote: > I would encourage you to use existing names/conventions whenever > possible. Some references to consider if you haven't.
Thanks for reminding me about your blog post on the subject -- I had forgotten about that. And I read some other interesting stuff while I was there :) I'm not sure what to make of URI-cpan. I'll have to think about that some more. >> Distribution Archive: A Distribution Archive is the physical manifestation >> of a Distribution, and corresponds to an actual file on the local disk. For >> example, /home/jeff/Foo-Bar-1.2.tar.gz or C:\MyDocuments\Foo-Bar-1.2.tar.gz > > I don't think you gain much by distinguishing this from distribution. > If you need to, I would consider "abstract distribution" for the > concept of a collection of modules and "distribution" for the archive > file as that is how it's commonly referred to elsewhere. >> Distribution Path: The Distribution Path is how an Archive is identified in >> a CPAN index. It is basically a URL fragment that looks like >> A/AU/AUTHOR/Foo-Bar-1.2.tar.gz. This is the term I'm having the most >> trouble with. CPAN::DistnameInfo calls this the "prefix" but I don't really >> like that either. > > A distribution file can only be uniquely identified on CPAN by > AUTHOR/Foo-Bar-1.23.tar.gz. This is why I think that separating the > concept of distribution from path is problematic. If you define > distribution to be the tarball, the the name of the distribution is > AUTHOR/Foo-Bar... etc. (The "A/AU" is unnecessary as it can be > computed) Its just that the term "distribution" is overloaded: $distribution = Pinto::Distribution->new(); $distribution = 'http://cpan.perl.org/authors/id/A/AU/AUTHOR/Foo-1.0.tar.gz' $distribution = '/home/jeff/Foo-1.0.tar.gz' $distribution = '/home/jeff/Foo-1.0/' I'm hoping to find less ambiguous terms that are concise, accurate, and won't take anyone by surprise. > DAGOLDEN/Foo-1.23.tar.gz > THALJEF/Foo-1.23.tar.gz > > These might be the same inside or they might be different. My Foo > distribution could contain module ACME::Foo and yours might contain > Acme::FOO. Those would be two totally legal, indexable distributions > as far as PAUSE is concerned. I'm not 100% certain, but I think PAUSE would allow this too: THALJEF/Foo-1.2.3.tar.gz THALJEF/subdirectory/Foo-1.2.3.tar.gz >> Repository: A repository is a general term for any CPAN-like pile of files. >> This includes CPAN mirrors, as well as any DarkPAN or mini-cpans. A >> repository has a URL that identifies the entry point. For example: >> http://cpan.perl.org > > Fine, though you imply but don't state that a repository contains > distributions in a particular directory layout below the base URL. Yes, Schwern said the same thing. These are all examples of a particular type of repository. So I'm searching for the name of that type. Thanks for sharing your thoughts. -Jeff