Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

Alias
  (email not shown publicly)
http://ali.as/

Journal of Alias (5735)

Thursday January 25, 2007
09:19 PM

Let a thousand (well, two) Tiny modules bloom

[ #32256 ]

January should see the release of another two modules in the ::Tiny series.

After mailing the DateTime mailing list, and looking into using DateTime::LazyInit as a substitute for DateTime::Tiny, it looks like I can't modify it as I need without either violating the integrity of lazy init, or bloating beyond the 100k limit.

So it looks like DateTime::Tiny is going to go ahead.

The second Tiny module to arrive shortly, and the first one written by someone else that has met all of the criteria for the Tiny suffix, will be XML::Tiny.

As I understand it from a quick review of the code (mailed to me for nameing approval), XML::Tiny (link won't work till after uploaded) is an implementation of an XML parser that targets a specific documented "minimal xml" subset of the entire XML spec.

And all in about 30 lines of code and well less than 100k of memory.

I'm excited to see a new member of the family, and I can't wait to try it out.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Just out of the idleness of curiousity, of course :-)
    • I have an answer to this question, but the margin of this post is too small to contain it.
    • The quick version is as follows.

      1. Tiny modules provide a non-complete replacement for large modules in "as little code as possible". "Large" is loosely defined as needing multiple megabytes of memory to load the module (before doing anything).
      2. They should provide enough functionality to solve a useful set of use cases.
      3. A Tiny module must consist of only one .pm file.
      4. A Tiny module must be pure Perl, and back-compatible to at least 5.005 (preferably 5.004)
      5. A Tiny module must have no non-core depende