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

Reply via email to