This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: So, who's maintaining the module registry?


>>>>> "Maciej" == Maciej Stachowiak <mstachow@mit.edu> writes:

Maciej> In this case, I suggest (db ...) as a prefix for general database
Maciej> interfaces, for example (db sql) for a generic sql interface, and (db
Maciej> <variety> <product>) for back-ends specific to an individual
Maciej> databases, for instance (db sql oracle) or (db sql mysql).

I'm no expert (in anything), but I've dealt with the Perl interfaces a little.
How about:

    (db <vendor> <product> <version_or_partial_version>)

E.g.,:

    (db TcX mysql 3.22)
    (db Hughes msql 1)
    (db Hughes msql 2)
    (db gnu sql all)            ; short-sighted, but possible
    (db oracle <servername> <version(s)>)
    (db sybase <servername> <version(s)>)
    (db informix <servername> <version(s)>)
    (db microsoft sql_server <version(s)>)
    (db berkely db <version(s)>)
    ...etc.

This allows the developers to have different modules for different
versions of the same database (very useful for mSQL, for example,
since 1.x and 2.x are VERY different), and also to support different
servers issued by the same vendor (e.g., - but forgive me the vulgarities -
Microsoft SQL Server, Access, etc.).

The type of server (rdbms, flat file, whatever) is largely irrelevant
if you know the vendor and server names.

Maciej> On second thought, maybe (database ...) is a better prefix to avoid
Maciej> confusion with Berkely `db'. But on second second thought that is
Maciej> annoyingly verbose.

Database people are rather accustomed to verbosity due to SQL, but
taking a look above, I'd say any abbreviation is welcome.

In fact, generalizing the technique above, you get:

       (<type_of_product> <vendor_or_author> <product> <version_specifier>)

...which is roughly what Perl does, and it makes it easy to find what
you want via indexing.

-- 
Lee Thomas                       email: lee_thomas@credence.com  
Software Quality Manager         phone: (503)-350-7551  fax: (503)-350-7400
Credence Systems Corporation, 9000 SW Nimbus Ave., Beaverton, OR, USA 97008