Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: ::Tiny modules namespace origins

by Discipulus (Abbot)
on Oct 08, 2020 at 09:37 UTC ( #11122600=note: print w/replies, xml ) Need Help??

in reply to *::Tiny modules namespace origins

Hello Smonff,

David Golden here states:

> Adam Kennedy was annoyed that a config file loader had a huge memory footprint - Config::Tiny was born

Infact in Config::Tiny we can read:

> The *::Tiny family of modules is specifically intended to provide an ultralight alternative to the standard modules.

And finally some rule found at

Here are the rules Adam Kennedy originally defined for what ::Tiny mea +ns: 1-The module should be implemented in "as little code as possible" 2-The module should implement a useful subset of functionality 3-The module should use at least 1/10th the amount of memory overhead, + ideally less than 100k 4-The module MUST have no non-core dependencies 5-The module MUST be only one single .pm file 6-The module should be back-compatible to at least 5.004 7-The module should omit functionality rather than implement it incorr +ectly. 8-If applicable, the module should be compatible with the larger modul +e.


There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Replies are listed 'Best First'.
Re^2: ::Tiny modules namespace origins
by Smonff (Beadle) on Oct 08, 2020 at 11:30 UTC

    Coming from an art background, it looks like OuLiPo for programmers to me! Very interesting...


      Since you're interested in art and OuLiPo you might enjoy The Lighter Side of Perl Culture (Part III): Obfu - which notes that the Paris Perl Mongueurs have a long-standing interest in both OuLiPo and Perl obfu. Both BooK and stefp helped me a lot with that article and I was very grateful for their assistance. BooK was the one who pointed out the similarities between Perl obfu and OuLiPo as an art form, both being based on constraints.

Re^2: ::Tiny modules namespace origins
by siberia-man (Pilgrim) on Oct 09, 2020 at 07:32 UTC
    What's the reason to conform to so old version of Perl? As far as I know, these days all modern systems come with Perl 5.14+ at least. This century I've seen Perl 5.8 on board of Solaris only.
      As far as I know, these days all modern systems come with Perl 5.14+ at least.

      Not everyone has the luxury of working on modern systems.

      This century I've seen Perl 5.8 on board of Solaris only.

      5.10 wasn't even released until the end of 2007 therefore everything released before that will have used 5.8 or an even older version. RHEL5 used 5.8 and some of those boxes are still supported under ELS.

      All that said, I don't see much value in supporting (or trying to support) anything older than 5.8 for any new modules written today. The stipulation about ::Tiny was put in place years ago and time doesn't stand still. Perhaps the new steering committee could look to revise the official guidance once they are done with Perl 7.


        I see your point. The better way is to support older versions until 5.8. But there is rule still urging to support until 5.004 and it hasn't been changed yet.
      In practice, most ::Tiny modules only support as far back as toolchain currently does: 5.8.1.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11122600]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2020-11-27 02:54 GMT
Find Nodes?
    Voting Booth?

    No recent polls found