in reply to What's the general rule for naming modules with that extra 'x' in the namespace?

The 'X' stands for "eXtension", so FooX::Bar is an extension to Foo named Bar. Example: DBIx::Class extends DBI to have class functionality.

So just add an X to the thing you want to extend.

  • Comment on Re: What's the general rule for naming modules with that extra 'x' in the namespace?

Replies are listed 'Best First'.
Re^2: What's the general rule for naming modules with that extra 'x' in the namespace?
by rudder (Scribe) on Mar 25, 2008 at 22:26 UTC

    Thanks kyle and moritz, but, a class "Foo::Bar::Baz" might inherit from (er... extend) a class "Foo::Bar".

    So, it looks like if you're dealing with the object oriented, inheritance kind of "extend", you just name your module as shown in the previous paragraph. But if the extending isn't the OO kind, I guess that's where you start using the 'x'.

      No, this is not the reason. It does not have anything to do with object orientation or whatnot mechanism.

      We have DBIx and MooseX because timb and stvn own the namespaces without x, and extension module authors are careful not to trample in them.

      See the module-authors list for further detail.