On Wed, Jul 10, 2019 at 9:49 PM <xxxxxx@ancell-ent.com> wrote:

What do you like about it?

I think the important features of SQLite from the Scheme perspective are:

1) It is dynamically typed, unlike almost all other RDBMSes, and thus well-matched with Scheme.

2) It is zero-config and serverless (in the sense of there being no server at all, not in the sense of a server that someone else administers).  This matches the typical scale of a Scheme project.

3)  Because the databases are just single files, database permissions are aligned with Posix permissions.  There is no need for a completely separate user management system, which usually ends up being more of an impediment than an asset.  For the same reason, the database files are highly transportable; they can even be checked into version-control systems as binary artifacts.

Of course it is not the be-all and end-all of RDBMSes, and it does require a certain amount of special-purpose or general-purpose FFI, unlike other RDBMSes that you can talk to over the network directly (provided the protocol is well-documented). I certainly don't reject the idea of a general-purpose ODBC-based SRFI, but it will be considerably more complicated to implement.

Databases come and go, and SQLite appears to have a low bus factor

The bus factor is 2, but <https://peerj.com/preprints/1233/> shows that of 133 widely-used GitHub projects, 60% have a bus factor <= 2, and 90% are <= 10.  For that matters, most Schemes have a BF of 1, and so does R7RS-large, I regret to say.

and suffers from political maladroitness,

If you mean the Rule of St. Benedict flap, they no longer use that as a CoC, and have in fact adopted the Mozilla CoC.  All projects make political blunders from time to time.


John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
You're a brave man! Go and break through the lines, and remember while
you're out there risking life and limb through shot and shell,
we'll be in here thinking what a sucker you are!    --Rufus T. Firefly