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: db interface (was Re: Scheme is too complicated)




	From:	Bruce Stephens [SMTP:b.stephens@isode.com]

	Jim Blandy <jimb@red-bean.com> writes:

	> > For a practical scripting language, you don't need "best".
	> 
	> Okay, this is not so cool.  I don't see any reason to embrace
sloppy
	> interfaces, just because we're an interpreter.  Sometimes
people do
	> want to get something exactly right, even in scripts.

	I'm not saying you shouldn't go for "good", or even "as good as
you
	can make it", but from a practical engineering viewpoint, "now"
is of
	value, especially when accompanied by "pretty good", and
"useful".

I need to disagree a little with you here.  From a "practical
engineering viewpoint", there is no need to use Guile. I would rather
Guile took another 2 years to establish interfaces to databases than
that it simply rush out a clone of some other language's interface. It
is worth considering what everyone else has done, but it is also
important to remember that this is Scheme.. a much more powerful
language than most of the others, and entirely novel solutions are
possible.

	But basically we all agree, I think.  The DBI people have been
	thinking about this for a while, and they have something which
they
	feel works, so it makes lots of sense to look at that before
starting
	to think from scratch.  

As far as "things to consider".. I myself have written (and discarded) a
SQL query engine in Perl, and a tiny SQL subset implementation in Guile
(not discarded). There are many things about SQL which can be simplified
and elegantly represented in languages which support closures. I am busy
at the moment, but when I get a chance I can collect this code and make
it available to anyone who is interested.

Another thing to consider for those who have not seen it is the database
interface present in MetaHTML. It contains two main interfaces, one for
a DBM style database, and one for SQL style databases. For those who
have not seen it, MetaHTML is very Scheme-like.

--
John Redford
AKA GArrow