Front page | perl.perl5.porters |
Postings from April 2001
From: Jarkko Hietaniemi
April 16, 2001 11:59
Message ID: 20010416135850.E22887@chaos.wustl.edu
I have heard some mutterings about the alarming rate of bloat growth
in the core and I can easily understand the concern, so I guess it's
again time for my intermittent policy reminder.
First, a review and a preview:
What has been integrated since I took the helm:
Digest + Digest-MD5
Filter-Util-Call + Filter-Simple
MIME-Base64 + Mime-QuotedPrint
New submodules of previously existing modules:
New modules sort of written for/during 5.7:
What I still plan on integrating before 5.8:
Locale-MakeText + I18N-LangTags
 This will happen if Graham figures out a nice way to somehow
either avoid or ease the Net::Config step. Configuring your network
settings should be a separate step from building / installing Perl.
 If Tels finishes his rewrite in time for the new code to be tested.
 Somewhat extensive API revamping has taken place recently
(the new version unfortunately not in CPAN), and I hate the name
Time-Object. Maybe Time-Piece, since it deals out the information
I'm also open to suggestions on some OO modules: Tie::SecureHash,
Class::MultiMethods, and Class::Contract have been suggested, but
I feel uneasy letting the mad Aussie to overwhelm us :-)
Lincoln Stein may implement some IO::Socket extensions
(sendmsg, recvmsg, multicast), if he finds the time.
Now, why these (aka "He must be barking mad" or "There must be a conspiracy"),
why these at all (aka "My perl1 programs work just fine without those"),
and why not something else (aka "He must be barking mad not to see the
obvious utility of including X")?
Rule #0: High utility/size ratio (Class-ISA).
Rule #1: Shorten the FAQs, wishlists, and to-do lists.
(Switch, Time-HiRes, Scalar-List-Utils)
Rule #2: Prefer and showcase Perl's strengths: text processing
and dynamicness (Text-Balanced, Memoize) (see also #7 vs #8)
Rule #3: Prefer i18n et alia: Locale-*, I18-LangTags, MIME-*
(and, of course, Encode.)
Rule #4: Extensions that either need to be maintained in close
synchrony with the Perl core (Storable) or that benefit from
the probing capabilities of Configure (Time-HiRes).
Rule #5: Many of the things proposed for Perl 6 are already available.
(Switch, Filter::*, Time-*) No need to deny them from fivers.
Rule #6: Give Perl 5 extensibility (Filter-*, to some extent libnet
(it being OO)) and fresh blood (all of the new stuff)
(Variant of #5)
Rule #7: Prefer low-level and infrastructural additions (libnet,
Digest*), and extensions to existing functionality (Time-HiRes)
Rule #8: Too application-specific is bad, however popular the application
area emay feel now or to you. (I don't, for example, see LWP
being included.) (Flipside of #7.)
Rule #9: External dependencies are bad. (This rule, for example,
plays against Compress::Zlib, databases, and XML parsing.)
$jhi++; # http://www.iki.fi/jhi/
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen
by Jarkko Hietaniemi