On Sat, Dec 08, 2007 at 06:38:50PM +0100, Sébastien Aperghis-Tramoni wrote:
> Tim Bunce wrote:
>
>> If there's a libfoo.so and I want to create a perl module/distribution
>> that's just a very thin wrapper around libfoo, what should I call it?
>>
>>     LibFoo
>>     Lib::Foo
>>     Lib::foo
>>     Lib::libfoo
>>     libfoo
>>     SomeCategory::Libfoo
>>     ???
>
> Following the "Category::Foo" scheme:
>  [...]
>
> Following the top-level namespace "Foo" scheme:
>  [...]

It's clear the "Category::Foo" scheme has the greater number of distributions.
It's also clear there's no firmly established best practice here.

I wanted to discuss the issue in the abstract first because the actual
library/module is in a category/namespace with it's own set of problems.

I'm looking to build a very thin wrapper around libmemcached
(http://tangent.org/552/libmemcached.html)
a high-performance feature-rich interface to memcached.

The natural category would be Cache:: but that namespace is a bit of a mess.
There are two big distributions (Cache and Cache::Cache) that have
different APIs. Each ships with a bunch of cache modules (Cache::Memory
vs Cache::MemoryCache). Then there are lots of other Cache::*
distributions and modules that may or may not conform to one or the
other API.

Since the extension I want to implement would not itself implement
either the Cache or Cache::Cache API I'm reluctant to put it into the
Cache:: namespace.

I was thinking in terms of a low-level 'thin' extension called
Lib::libmemcached with separate pure-perl modules implementing the Cache
and Cache::Cache interfaces.

So, here's the point: does anyone have any good objections to my
establishing a new precident by using the Lib:: namespace for this?
(Or perhaps CLib:: or SysLib:: or ...)

Or should I just add to the general mess in the Cache:: namespace?

Tim.

Reply via email to