Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread Martyn J. Pearce
On Mon, Jan 19, 2004 at 11:03:05AM -0600, Chris Josephes wrote:
 Why would that be?  I mean, the odds are if you're dealing with a non-core
 Perl module, you're going to need to know the name if you want to download
 it in the first place.  If you use a module long enough, you'll get used
 to how it's called.

It's not those I use every day that are the issue; it's those I use
bi-monthly.  I can easily remember to look up Net::FTP for an ftp client, but
com::bluesville::smegma:algenon::net::ftp?  It'd take me three goes to type it
right even if i could remember the name.

Mx.


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread Martyn J. Pearce
On Mon, Jan 19, 2004 at 11:05:31AM -0600, Chris Josephes wrote:
 Version numbering is an authorship issue.  If I took over module Widget
 from author XYZ, I'd probably use higher version numbers than author X
 used to signify a newer release.  To be sure, I'd also include POD
 documentation identifying my version of Widget to be a replacement for the
 version from author XYZ.

If I'm looking for a module to do a job, I use search.cpan, and check by name;
then, for likely candidates, I check out the README.  I don't have time to
read the POD too; I've got a job to do.

Version numbering works great for linear systems, which generally occur only
with single authorship.  If you do your own version of Term::ProgressBar, and
call it 3.00, and someone else does too, they will probably call it... 3.00.
Boom!

Mx.


Re: cpan name spaces

2004-01-20 Thread Terrence Brannon
Mark Stosberg wrote:



I tend to look for new modules by keyword search anyway. 

I've been wanting to do something for the CPAN system. I often find the 
SEE ALSO section of modules to be incomplete. I was hoping that it 
would be possible to make RELATED MODULES a basic part of the webpage 
that is displayed when you browse for a certain module.





Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread Chris Josephes
On Mon, 19 Jan 2004, Daniel Staal wrote:

 Basically, adding the author's name into the name of the module just
 trades an illusion of a 'clean' TLD for my headspace.  I would rather
 have a messy TLD: there are tools that can help me search and sort
 that.  Perl is *supposed* to help me clean my headspace, by not
 making me think about the inconsequential and irrelevant.

 Daniel T. Staal

It's not really a perl issue as much as it's a CPAN issue.  In most module
cases, we're only talking about 1 or 2 lines of code.

use au::author::Blah qw(func1 func2);

 ...or...

use au::author::Blah;
$b=au::author::Blah-new();

 ...or if you used perl6...

use au::author::Blah as Blah;

In most cases, you'll only refer to the full name of the module once.

The idea of organizing namespaces is to resolve the issues CPAN
maintainers have had with naming conflicts, or namespace ownership issues.



Christopher Josephes
[EMAIL PROTECTED]


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread A. Pagaltzis
* Chris Josephes [EMAIL PROTECTED] [2004-01-20 12:02]:
 In most cases, you'll only refer to the full name of the module
 once.

Then why would it even matter that much?

 The idea of organizing namespaces is to resolve the issues CPAN
 maintainers have had with naming conflicts, or namespace
 ownership issues.

I don't understand how changing the naming scheme is going to
help at all with that. The problem you're describing is one of
infrastructure, not a social one. How is a societal solution
supposed to solve technical problems?

-- 
Regards,
Aristotle
 
If you can't laugh at yourself, you don't take life seriously enough.


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread Peter Haworth
On Mon, 19 Jan 2004 11:03:05 -0600 (CST), Chris Josephes wrote:
 On Mon, 19 Jan 2004, Mark Stosberg wrote:
  And what happens when module author gets married and get a new
  hyphenated last name? /sarcasm
 
 How often do CPAN ids really change?  I doubt that an extablished author
 would extend his given name change to his CPAN id.

Twice that I can remember:

JAPHY - JPINYAN
CTWETEN - CWEST

-- 
Peter Haworth   [EMAIL PROTECTED]
Jarkko suggested throwing out [the unicode directory] (with a caution that
 attempting to use Unicode stuff would make demons fly out of your nose.)
-- Simon Cozens


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread A. Pagaltzis
* Martyn J. Pearce [EMAIL PROTECTED] [2004-01-20 12:02]:
 Version numbering works great for linear systems, which
 generally occur only with single authorship.  If you do your
 own version of Term::ProgressBar, and call it 3.00, and someone
 else does too, they will probably call it... 3.00.  Boom!

Yes, that's what the module name is for -- one of the two should
call it something other than Term::ProgressBar and if it's only
to add ::NewAndImproved.

Perl does not provide for keeping around same-named modules that
differ in some other way.

-- 
Regards,
Aristotle
 
If you can't laugh at yourself, you don't take life seriously enough.


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread A. Pagaltzis
* Fergal Daly [EMAIL PROTECTED] [2004-01-20 14:34]:
 On Tue, Jan 20, 2004 at 12:17:51PM +0100, A. Pagaltzis wrote:
  Perl does not provide for keeping around same-named modules
  that differ in some other way.
 
 That's not true. There are many modules where for example
 version 1.xx has one interface and 2.xx has a different
 interface and then 2.xx where xx  37 is a slightly different
 to 2.xx for xx = 37 and so on.

I was unclear. What I am talking about is that there is no
provision to have Foo::Bar 0.11, Foo::Bar 0.42 and Foo::Bar 1.23
all available in the same installation of Perl. There are some
modules like only.pm that impose their own conventions to allow
this, but vanilla Perl does not account for such a situation.

-- 
Regards,
Aristotle
 
If you can't laugh at yourself, you don't take life seriously enough.


Re: cpan name spaces

2004-01-20 Thread Mark Stosberg
On Tue, Jan 20, 2004 at 12:23:09PM +, Fergal Daly wrote:

 Not that this would ever be agreed upon, the old way is ingrained. Modules
 will continue to do for example
 
 PREREQ_PM = { Parse::RecDescent = 1.80 }
 
 then fall over because 1.90 satisfies this requirement but is not actually
 compatible,

This is addressed to some degree in the Module::Build system, which allows you
to specify required module versions like this:

 Ken::Module = '= 1.2, != 1.5,  2.0',

So there /is/ currently way to specify exactly which versions you expect
to be compatible. Unfortunately, unless the author of the required module 
has made clear version numbers like you suggest...it make take some
digging to figure out exactly which versions should be required.

Mark


Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread david nicol
On Tue, 2004-01-20 at 07:41, A. Pagaltzis wrote:
 
 I was unclear. What I am talking about is that there is no
 provision to have Foo::Bar 0.11, Foo::Bar 0.42 and Foo::Bar 1.23
 all available in the same installation of Perl. There are some
 modules like only.pm that impose their own conventions to allow
 this, but vanilla Perl does not account for such a situation.


Sure there is:  You can edit the include search path.


-- 
david nicol
In order to understand what another person is saying, you must assume that it
is true and try to imagine what it could be true of. (George Miller; 1980.)



Re: cpan name spaces (was: Re: Re3: Re: How about class Foo {...} definition for Perl? )

2004-01-20 Thread david nicol
On Tue, 2004-01-20 at 06:23, Fergal Daly wrote:
 Not that this would ever be agreed upon, the old way is ingrained. Modules
 will continue to do for example
 
 PREREQ_PM = { Parse::RecDescent = 1.80 }
 
 then fall over because 1.90 satisfies this requirement but is not actually
 compatible,
 
 F

Here's a controversial assertion:

Just because Damian Conway does something that doesn't make it right.

I reccommend changing the name of the module when the interface
changes, for instance I published Net::SMTP::Server::Client2
instead of hijacking Net::SMTP::Server::Client and producing
incompatible higher-numbred versions. (internally I've got a Client3
as well, but it's not going to get published)

In my opinion as soon as he broke compatability with something that
people were actually using, he should have changed the name. 

http://search.cpan.org/~tbone/Parse-RecDescent-FAQ-3.25/FAQ.pm
does not contain a section on version compatibility, maybe you could
submit one?

-- 
david nicol
In order to understand what another person is saying, you must assume that it
is true and try to imagine what it could be true of. (George Miller; 1980.)



Re: [Class::MultiList] Need feedback for first distribution

2004-01-20 Thread david nicol
On Tue, 2004-01-20 at 01:55, khemir nadim wrote:
 I don't understand what the autoloading mechanism has to do with
 inheritance! (Something for me to learn I guess)


I think its that as soon as you have AUTOLOAD defined, you can't
inherit past that point, at least by the ISA mechanism: the AUTOLOAD
function needs to know how to punt.


-- 
david nicol
In order to understand what another person is saying, you must assume that it
is true and try to imagine what it could be true of. (George Miller; 1980.)