Front page | perl.perl6.stdlib |
Postings from August 2001
Perl 6 modules plan
From: Kirrily Robert
August 9, 2001 12:39
Perl 6 modules plan
Message ID: 20010809153932.A1007@infotrope.net
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 firstname.lastname@example.org, which is
probably the most suitable place available to us.
Perl 6 Modules Plan
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@example.com.
=item Style guide
=item Naming guidelines
=item h2xs replacement
=item Documentation assistance
Style guide? Improve auto-generated doc stubs? Team of doc
=item Testing tools
See L<Test::Simple>, L<Test::More>, L<Pod::Tests>, CPANTS, etc.
=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 firstname.lastname@example.org.
=head2 Namespace cleanup/naming conventions
The Great Perl 6 Module Rewrite also gives us a good opportunity to clean
up module namespace, if necessary.
=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@example.com
Currently, firstname.lastname@example.org 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
This needs fixing. The naming guidelines (above) may help somewhat, by
lessening the email@example.com workload.
=head2 Get authors of similar modules working together
The firstname.lastname@example.org 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:
Developer tools (Devel::*, Test::*, etc)
The members of these lists could co-operate and collaborate to create
more integrated sets of tools.
Kirrily "Skud" Robert <email@example.com>
Kirrily 'Skud' Robert - firstname.lastname@example.org - http://infotrope.net/
She had a pretty gift for quotation, which is a serviceable substitute for wit.
Perl 6 modules plan
by Kirrily Robert