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: Scheme is too complicated



This is a good thread.  I've revised the ideas list; here are the
relevant revised entries.

  <p>
  <dt> <b> Database engine interfaces </b>
  <dd>
    This is pretty important for web scripting, but also just a
    generally handy thing.

    <p> Perl has DBI, which I think we should use a model; here's the
    description from CPAN:

    <p> The Database Interface. The Perl DBI initiative has
    standardized the interface to a number of commercial database
    engines, so that you can move from, say, Oracle to Sybase with a
    minimum of effort. You'll find DBD::DB2, DBD::Informix,
    DBD::Oracle, DBD::QBase, DBD::Sybase, DBD::MySQL, and DBD:mSQL
    inside the DBD module set.

    <p> The job here is to discern the important ideas in DBI's
    design, figure out the nicest way to transpose those into Scheme,
    write that up, and provide at least one implementation, so that
    people can write database drivers that meet the spec, and use the
    implementation as a reference.

  <p>
  <dt> <b> Database manager interfaces </b>
    These would be interfaces to Berkeley DB, GDBM, NDBM, DBM, etc.
 
    <p> I think the difference between a ``database engine'' and a
    ``database manager'' is that the former usually supports SQL, and
    handles multiple readers and writers, whereas the latter just
    implements the data structure on disk, and leaves questions of
    synchronization and how to actually arrange data usefully in the
    hands of the caller.

    <p> Just as discussed in the ``Database engine interface'' entry
    elsewhere in this list, we want a common interface to these
    libraries, so people can write code that will operate with any
    file format.