Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Module Namespace, CPAN, and Linguistics

by Polyglot (Pilgrim)
on May 19, 2009 at 04:36 UTC ( #764825=perlmeditation: print w/replies, xml ) Need Help??

I'm putting together some routines for identifying characteristics of the Thai alphabet, making useful character classes, and may include some other nice features such as word splitting and/or sorting. I hope to package a module for CPAN from these, for the benefit of the Thai community.

CPAN recommends discussion regarding the NAMESPACE for each module, and I thought some of the monks here might have wisdom in this area.

If you see a module for a language, for example if a module were called "Swahili," what would you expect it to contain? For a rare language, will such a broad and generic name become "namespace pollution" later on? What about "Thai" vs "Thai::CharClass" etc.?

Perhaps many languages do not have modules named after them. Should I be looking instead at something like "Lingua::Thai::CharClass"? or does this seem like it gets too unwieldy?

Last but not least, if a previously created module (such as Lingua) becomes the base of the new namespace/module, does this mean that the developers would need to work together to accommodate the name? Since I have never created a module before, this is unclear to me...would I send the module to the authors of Lingua, for example, to be included in their package?

Thank you for your patience with this neophyte.



  • Comment on Module Namespace, CPAN, and Linguistics

Replies are listed 'Best First'.
Re: Module Namespace, CPAN, and Linguistics
by Your Mother (Bishop) on May 19, 2009 at 04:53 UTC

    You might also consider Lingua::CharClass::Thai, especially if you can get a generalized Lingua::CharClass piece which either sets some baseline functions for subclassing or contains no code but Pod for how to do new CharClasses so other authors can jump in and keep a uniform interface. I suggest keeping to the ISO abbreviation for Thai, so Lingua::TH::CharClass or Lingua::CharClass::TH.

Re: Module Namespace, CPAN, and Linguistics
by JavaFan (Canon) on May 19, 2009 at 12:19 UTC
    CPAN has Parse::RandGen::CharClass, CharClass::Matcher, and Regexp::CharClasses. Perhaps you can build on one of those namespaces (although I have to say, I haven't checked what those modules do)? Or you could send a patch if one of the modules fits, or perhaps a patch for one of the existing Lingua modules.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://764825]
Approved by Corion
usemodperl mourns the monastery

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2018-06-19 19:23 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.