At YAPC, I told Nat I wanted to get involved with modules-related work
for Perl 6.  To that end, I've put together a bit of a list of what I
think needs to be done in that area.  The list appears below, in POD
format.  If you're interested in being involved in this stuff, or just
have comments, please follow up to [EMAIL PROTECTED], which is
probably the most suitable place available to us.

K.

=head1 NAME

Perl 6 Modules Plan

=head1 INTRODUCTION

Fundamental premise: almost all Perl 5 modules will be rewritten in Perl 6 at
some point in the future.

When we started writing modules for Perl 5, it was a new experience.
We've learnt a lot since then.  Let's take advantage of that knowledge
and try to apply it to the Perl 6 rewrite.

=head1 THINGS THAT NEED DOING

=head2 Help people rewrite their modules

... and help them rewrite them B<better> than before.  There should be
tools, guidelines and processes to assist authors in writing quality modules.  
See also [EMAIL PROTECTED]

Specifically:

=over 4

=item Style guide

See L<perlmodstyle>

=item Naming guidelines

See below.

=item h2xs replacement

See L<ExtUtils::ModuleMaker>

=item Documentation assistance

Style guide?  Improve auto-generated doc stubs?  Team of doc
reviewers/editors/etc?

=item Testing tools

See L<Test::Simple>, L<Test::More>, L<Pod::Tests>, CPANTS, etc.

=back

=head2 The stdlib/SDK/??? issue

What goes in the standard library?  What about SDKs?  We need some
guidelines and processes in place for this.  Mostly a documentation job.

=head2 The role of CPAN

Will CPAN's role remain unchanged?  Will there be a separate space for
Perl 6 modules (6PAN)?  

If we do want to make changes to CPAN then Perl 6 gives us an
opportunity for a "flag day" if we need one.  OK, not an actually flag
*day*, but at least a point where we can say "Things are different for
Perl 6" and to hell with backwards compatibility ;)

This is not strictly a modules issue, so see also [EMAIL PROTECTED]

=head2 Namespace cleanup/naming conventions

The Great Perl 6 Module Rewrite also gives us a good opportunity to clean 
up module namespace, if necessary.  

=over 4

=item Document namespace guidelines

This is a good opportunity to iron out some namespace wrinkles.  First
step is to figure out what's already there on CPAN and can be documented
as current "best practice" (eg. silly modules go in Acme::*, network
protocols in Net::*).  

Similarly, figure out areas where it's a huge mess and make a note of them 
(eg. Date/Time, WWW/CGI/HTML/etc), then see if we can get any consensus
on how they should be sorted out (see notes below on getting authors of
similar modules working together).

The resulting document ("module naming guidelines") will be useful both
for authors trying to figure out what to call their module, and for
those who get asked for advice on the topic (so they can't point and say
"RTFM", thus saving themselves lots of work in explaining every time).

=item Clarify role of [EMAIL PROTECTED]

Currently, [EMAIL PROTECTED] is the arbiter of module naming.  However,
the process by which it operates, and the ways in which it determines
what is and isn't suitable naming, are opaque to the vast majority of
module authors.

This needs fixing.  The naming guidelines (above) may help somewhat, by
lessening the [EMAIL PROTECTED] workload.

=back

=head2 Get authors of similar modules working together

The [EMAIL PROTECTED] list is for authors of date and time modules to
talk about issues relevant to their field.  Topics have included naming
conventions, common APIs, etc.  It would be really good to have similar
lists for other groups of authors, including:

=over 4 

=item *

Database modules

=item *

WWW-related modules

=item *

XML modules

=item *

Templating modules

=item *

Developer tools (Devel::*, Test::*, etc)

=back

The members of these lists could co-operate and collaborate to create
more integrated sets of tools.

=head1 AUTHOR

Kirrily "Skud" Robert <[EMAIL PROTECTED]>

-- 
Kirrily 'Skud' Robert - [EMAIL PROTECTED] - http://infotrope.net/
She had a pretty gift for quotation, which is a serviceable substitute for wit.

Reply via email to