Draft implementation of core sexp/binary
Lassi Kortela 24 Sep 2019 09:56 UTC
I felt inspired to hack together a rough draft implementation of the
core formats being discussed so made this repo:
<https://github.com/Schemepersist/universal-encoding>
I was thinking of the following Scheme libraries to get started:
(core text read) exports a core-text-read procedure
(core text write) exports a core-text-write procedure
(core binary read) exports a core-binary-read procedure
(core binary write) exports a core-binary-write procedure
In my experience, it's good to have the reader and writer in separate
libraries since in many programs only one of them is needed. For package
managers like Snow and Akku, we can put both reader and writer in the
same package, but it's useful to be able to cut one out sometimes.
I'll write the (core text *) based on John's s-exp draft (without any
numerical limits).
Since the database subprocesses are currently using my varint-based
binary sexps, I'll try to write (core binary *) using John's core ASN.1
proposal. Then we can get some hands-on experience with both approaches.