logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: Naming convention for thin wrappers around C lib<foo>.so ?: msg#00056

Subject: Re: Naming convention for thin wrappers around C lib<foo>.so ?
Tim Bunce wrote:

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.
Tim,

I guess another question to ask would be are there other instances/projectsd where this sort of structure "Lib::low-level-lib" would be usefull for other projects. I would think so and agree with this approach.

--Patrick

--
Patrick Galbraith, Senior Programmer Grazr - Easy feed grazing and sharing http://www.grazr.com
Satyam Eva Jayate - Truth Alone Triumphs
Mundaka Upanishad






<Prev in Thread] Current Thread [Next in Thread>