Database connections as subprocesses Lassi Kortela (14 Sep 2019 07:30 UTC)
Re: Database connections as subprocesses John Cowan (15 Sep 2019 01:06 UTC)
Re: Database connections as subprocesses Lassi Kortela (15 Sep 2019 06:28 UTC)
Re: Database connections as subprocesses John Cowan (15 Sep 2019 23:02 UTC)
Re: Database connections as subprocesses Lassi Kortela (16 Sep 2019 08:22 UTC)
Binary S-expressions Lassi Kortela (16 Sep 2019 17:49 UTC)
(missing)
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 09:46 UTC)
Re: Binary S-expressions Alaric Snell-Pym (17 Sep 2019 11:33 UTC)
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 12:05 UTC)
Re: Binary S-expressions Alaric Snell-Pym (17 Sep 2019 12:23 UTC)
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 13:20 UTC)
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 13:48 UTC)
Re: Binary S-expressions Alaric Snell-Pym (17 Sep 2019 15:52 UTC)
Re: Binary S-expressions hga@xxxxxx (17 Sep 2019 16:25 UTC)
Re: Binary S-expressions rain1@xxxxxx (17 Sep 2019 09:28 UTC)
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 10:05 UTC)
Python library for binary S-expressions Lassi Kortela (17 Sep 2019 21:51 UTC)
R7RS library for binary S-expressions Lassi Kortela (17 Sep 2019 23:56 UTC)
Re: Database connections as subprocesses Alaric Snell-Pym (16 Sep 2019 08:40 UTC)
Re: Database connections as subprocesses Lassi Kortela (16 Sep 2019 09:22 UTC)
Re: Database connections as subprocesses Alaric Snell-Pym (16 Sep 2019 11:28 UTC)
Re: Database connections as subprocesses hga@xxxxxx (16 Sep 2019 13:28 UTC)
Re: Database connections as subprocesses Lassi Kortela (16 Sep 2019 13:50 UTC)
Re: Database connections as subprocesses hga@xxxxxx (17 Sep 2019 13:59 UTC)
Re: Database connections as subprocesses John Cowan (16 Sep 2019 22:41 UTC)
Re: Database connections as subprocesses Lassi Kortela (17 Sep 2019 09:57 UTC)
Re: Database connections as subprocesses Lassi Kortela (17 Sep 2019 10:22 UTC)

Re: Database connections as subprocesses Lassi Kortela 17 Sep 2019 09:57 UTC

>> 4. Scheme code to talk a standardised subprocess protocol to external
>> driver binaries, written in whatever language
>
> One advantage of my proposed textual protocol is that you don't need any
> code: you just use display to give the server your bindings and query, and
> then repeatedly call read to get back the answers.  (This assumes that the
> intermediary is trusted, which it ought to be, as you are running it on
> your own machine.)

- Subprocess drivers that can be employed by languages other than Scheme
would be a big win for everyone involved.

- Being able to write drivers in C/Python/Java/... languages that don't
have a ready Scheme parser is the point.

- If a parser has to be implemented, Scheme S-expressions are not an
terrible choice, but we can make an easier and more reliable equivalent
by using length prefixes instead of escaping, and my preference would be
to also use binary.

- Scheme is a powerful language, so any encoding that's easy to
implement in C/Python/Java is even easier to implement in Scheme. And if
it's at all generic (e.g. roughly equivalent to S-expressions), it can
be repurposed for other subprocess and socket interfaces.

- Scheme syntax is intricate enough, with minor variations between
implementations, that I wouldn't just (write) or (display) things to a pipe.

- The usual rule of subprocess composition is that processes should not
trust each other to send valid data. Diligence here is good in general,
and especially good if the drivers are also used by other languages.