[VPM] Re: [RFC] SQL::AST (SQL Abstract Syntax Tree) - DBI related

Darren Duncan darren at DarrenDuncan.net
Wed Aug 13 21:45:00 CDT 2003


At 3:03 PM -0400 8/12/03, Matthew Simon Cavalletto wrote:
>I believe the convention is for the portable C library to be named something short like libSQLOM, with the Perl code either in SQL::ObjectModel or a related namespace like SQL::ObjectModelXS or SQL::ObjectModel::libSQLOM.

Thank you Matthew.  I think I will name the C library either "SQLOM" or "libSQLOM", unless someone else has used the name already (unlikely).  But the public face of the Perl module will still be "SQL::ObjectModel".

>Consider this guidance from perlmodlib: "Generally the name should reflect what is special about what the module does rather than how it does it."
>
>The name you pick should focus on the distinct purpose of the module -- ie, providing a static representation of various kinds of SQL statements.
>
>The fact that your module is implemented as a tree of objects, rather than as functions which operate on nested hash-refs or whatever, is an implementation detail.

Actually, the reason I use "Object" in the name is to describe what the module *is* conceptually.  I am not using it to refer to the implementation.  In fact, the C implementation will be very definately not a set of objects (but rather a set of structs that reference each other).  The fact that the Perl interface is object oriented is a convention that I like to use, and it goes with the conceptual idea of what the module is.

>In practice, many of the modules on CPAN are based on some kind of "object model," but don't use it in their class names -- for example, think of the many distributions that could have been named "XML::ObjectModel."
>
>-Simon

XML is different.  There is an official W3C standard called "Document Object Model" (DOM) which is a conceptual object holding an XML syntax tree.  My use of "Object Model" was inspired by the XML, since my module does with SQL what a DOM does with XML.

So, based on what I have seen and heard from the feedback (thank you all), including that 11-character thing, I think that this is what I will try to register:

SQL::
::ObjectModel adhOg An abstract syntax tree for SQL              DUNCAND

Have a good day. -- Darren Duncan



More information about the Victoria-pm mailing list