World's simplest Scheme interface to sqlite3 John Cowan (29 Aug 2020 03:00 UTC)
(missing)
(missing)
Fwd: World's simplest Scheme interface to sqlite3 John Cowan (29 Aug 2020 17:57 UTC)
Re: Fwd: World's simplest Scheme interface to sqlite3 Lassi Kortela (29 Aug 2020 18:44 UTC)
Re: Fwd: World's simplest Scheme interface to sqlite3 John Cowan (29 Aug 2020 22:37 UTC)
SQL API sketch with some code Lassi Kortela (30 Aug 2020 13:24 UTC)
Re: SQL API sketch with some code Lassi Kortela (30 Aug 2020 13:46 UTC)
Re: SQL API sketch with some code John Cowan (30 Aug 2020 20:47 UTC)
Re: SQL API sketch with some code Lassi Kortela (31 Aug 2020 05:02 UTC)
Re: SQL API sketch with some code Lassi Kortela (31 Aug 2020 05:14 UTC)
Re: SQL API sketch with some code John Cowan (31 Aug 2020 15:38 UTC)
Re: SQL API sketch with some code Lassi Kortela (31 Aug 2020 15:54 UTC)
Re: SQL API sketch with some code John Cowan (31 Aug 2020 17:12 UTC)
Re: SQL API sketch with some code Lassi Kortela (31 Aug 2020 19:20 UTC)
Reflection on the database schema Lassi Kortela (30 Aug 2020 13:35 UTC)
Re: Reflection on the database schema John Cowan (30 Aug 2020 19:51 UTC)
Re: Fwd: World's simplest Scheme interface to sqlite3 Alaric Snell-Pym (31 Aug 2020 22:03 UTC)
Re: Fwd: World's simplest Scheme interface to sqlite3 Lassi Kortela (02 Sep 2020 08:38 UTC)
Re: Fwd: World's simplest Scheme interface to sqlite3 John Cowan (02 Sep 2020 17:09 UTC)
SQL statement caching Lassi Kortela (02 Sep 2020 17:21 UTC)
Re: SQL statement caching John Cowan (02 Sep 2020 18:13 UTC)
Re: SQL statement caching Lassi Kortela (02 Sep 2020 18:53 UTC)
Re: World's simplest Scheme interface to sqlite3 Lassi Kortela (29 Aug 2020 11:40 UTC)
Re: World's simplest Scheme interface to sqlite3 Ivan Raikov (29 Aug 2020 04:06 UTC)
Re: World's simplest Scheme interface to sqlite3 Lassi Kortela (29 Aug 2020 11:24 UTC)
Re: World's simplest Scheme interface to sqlite3 John Cowan (29 Aug 2020 17:47 UTC)
Re: World's simplest Scheme interface to sqlite3 Lassi Kortela (29 Aug 2020 18:23 UTC)
Re: World's simplest Scheme interface to sqlite3 John Cowan (29 Aug 2020 22:15 UTC)
Re: World's simplest Scheme interface to sqlite3 Amirouche Boubekki (29 Aug 2020 07:33 UTC)
Re: World's simplest Scheme interface to sqlite3 Lassi Kortela (29 Aug 2020 11:37 UTC)

Re: World's simplest Scheme interface to sqlite3 Lassi Kortela 29 Aug 2020 18:23 UTC

> With respect, I believe that is at least partly because you have no
> experience with a proper functional implementation of the relational
> algebra.  (Few people have.)

No respect earned - I'm a total pleb when it comes to databases.

> Relational programming is another paradigm
> like structured programming, object-oriented programming, and logic
> programming, all of which Scheme can handle and handle well.

It's entirely possible that the original idea was nice to use.

> Relational programming in SQL, on the other hand, is like functional or
> OO programming in C: it is technically possible, but you keep running up
> against roadblocks placed for historical reasons that are no longer
> relevant.   SQL is not only both too simple and too complex to do the
> job, it is full of idiotic limitations (examples on request).

That sounds like a good relational programming language is made out of
simple, orthogonal, composable building blocks and SQL is not.

> Unfortunately, it is all we have.  Still, translating high-level
> languages to C has its good points, and so does translating high-level
> relational algebra to SQL as needed.

How big/complex is a relational algebra -> SQL translator, and how much
overhead does it impose on typical workloads? Is Dee being used for
applications?

> Following in the footsteps of Dee (a Python library for relational
> algebra), I think a good integration into Scheme is possible.  It will
> not be an ORM, because mappings between paradigms always suck.

Yes - object-relational mapping is the Vietnam of computer science, etc.

> But Scheme is inherently a multiparadigm language.

I've grown to like Scheme's approach of taking the essentials from each
paradigm and making it all opt-in rather than opt-out.