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)
|
>> Once again, I agree with all your points of view. > > I am lulling you into a false sense of security, so you support MY > terrible ideas later... ;-) Oh snap :) The plan is working well: >> If there is interest, I can write a spec about such an encoding, and >> solicit feedback. The basics are extremely easy to do with varints, as >> demonstrated. > > I'd like that! Great! I'll have a draft up shortly. > Rationals? Store them as two integers. > > Complex? Store them as two numbers. Those are the approaches I had in mind also. > Inexacts are the tricky one, as unlike all the other types, there's no > procedures to simply split them into parts that we can already represent > - and we would like to exactly represent inexacts, as it where, > reproducing them exactly the same way (assuming that the receiving > implementation's representation isn't less exact then the sending > one's). But peeking under the hood, one can note that most (all?) > inexact number representations are IEEE floating points, and either > provide a "raw IEEE double" (pick an endianness) value format, or avoid > problems with implementations that have inexact representations that > aren't a strict subset thereof by sending inexacts as two arbitrary > integers - mantissa and exponent - with a few special values for > infinities. Even the "subnormal" numbers very near 0 can be represented > in that form, but it's a bit of shuffling to convert between that and > Scheme numbers. I didn't have any plan for floats, and didn't realize to consider infinities, NaN and subnormal numbers at all. Your comments are astute. One cop-out would be to store the binary digits of the integer part, followed by the binary digits of the fractional part. This is highly suboptimal. I also think it'd be good to have support for decimal real numbers, especially if we do database and currency stuff. > As for timestamps and stuff - you can store the arguments to make-time, > by using the accessors in srfi-19, etc! The problem is, timestamps present at least the following concerns: - Precision - Accuracy - Different epochs - Different time zones - Leap seconds (UTC vs TAI) - YYYY-MM-DD dates vs seconds-since-Epoch timestamps Most users, programmers, sysadmins and time APIs don't know or care about that stuff very much. That means that no matter how diligently you specify all the details about which time encoding you expect people to use, they will just ignore your prose and stuff whatever timestamps they have into it without a care in the world. Specifying an unambiguous encoding is quite hard, but getting people to actually follow it instead of merely pretending to follow it is ten times harder still. I've thought about this problem on and off for years, but always come back to just storing timestamps as integers. Then you don't pretend to know more about the timestamp than you actually do. Nevertheless, having a dedicated time datatype is very nice. If someone has a proposal for how to avoid all the problems and guide people onto the right path so we get reliable timestamps, I'd love to hear it. > It would be nice to add it as an input/output format in magic-pipes, my > sexprs-in-shell-pipelines toolkit: > https://www.kitten-technologies.co.uk/project/magic-pipes/doc/trunk/README.wiki That looks great! You even let people use SQL and S-expression regexps from the command line. I'll try to build and install it. If we get a binary spec going I'll definitely help you support it.