Re: Need suggestions for terminology

Jeffrey Thalhammer <[email protected]>
Newsgroups gmane.comp.lang.perl.quality-assurance
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.