On Fri, Sep 27, 2019 at 2:46 PM Lassi Kortela <xxxxxx@lassi.io> wrote:

> #bits[07-EE80] = CL
> #*111011101, where the 07 means that the last 7 bits of the last byte are
> not part of the bitvector.

Does this notation ever become natural to read; is it used somewhere
already?

Well, if we use braces instead of square brackets (which I have no problem with), then it's the notation of UUIDs: the UUID seed for making a UUID from an URL, for example, is {6ba7b811-9dad-11d1-80b4-00c04fd430c8}.

If we do this, then we give up on braces for dictionaries, and go with #h(key value ...), which also LGTM.  Because of their frequency in data, dictionaries should have a one-letter name, and h is already a proposal for CL, though not part of the standard.

I thought you'd want #bits"07EE00" so "#bits" is the things that does
the magic interpretation of the doubld-quoted string. I guess there can
be examples where this gets unwieldy. Maybe it'll be clumsy to implement
even in the case of #bits. Have to think about this.

Unfortunately that fails with the private-use datum #80"abcdef", because we don't know if the bytes on the wire are ab cd ef or 61 62 63 64 65 66.  In my proposal, the first would be #80{abcdef} and the second #80"abcdef". 


John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
If I have seen farther than others, it is because they are closer than
I am. --Noetica
Noetica’s standing on the shoulders of galahs.  --Gibbon
Better than standing on the shoulders of hobyahs (not to be confused
with hobbits, though some have done so).  --me