Sketches of new Ref layouts

This commit is contained in:
Tony Garnock-Jones 2023-06-27 21:25:19 +02:00
parent 829ff5c3c5
commit 5562add7ba
1 changed files with 52 additions and 0 deletions

View File

@ -66,6 +66,58 @@ Either way, the tag on the special `Ref` is the type of the encoded value.
### Tags and Refs.
................................................................
Version 1
00000000 IMM bool
...00100 IMM RESERVED
nnn01000 IMM float nnn = length of payload in bytes. 000 disallowed
nnn10000 IMM str
nnn10100 IMM bytes
nnn11000 IMM sym
....1100 IMM int
.....010 RESERVED
....0110 PTR embedded
....1110 PTR float
....0001 PTR str
....0101 PTR bytes
....1001 PTR sym
....1101 PTR int
....0011 PTR rec
....0111 PTR seq
....1011 PTR set
....1111 PTR map
................................................................
Version 2
0000 0000 IMM bool
...1 0000 IMM RESERVED
nnn0 0001 IMM float nnn = length of payload in bytes. 000 disallowed
nnn1 0001 IMM bytes
nnn0 0010 IMM str
nnn1 0010 IMM sym
.... 0011 IMM int
.... 0100 PTR int
.... 0101 PTR str
.... 0110 PTR bytes
.... 0111 PTR sym
.... 1000 PTR rec
.... 1001 PTR seq
.... 1010 PTR set
.... 1011 PTR map
.... 1100 PTR embedded
.... 1101 PTR float
.... 1110 RESERVED
.... 1111 RESERVED
Tag Type Interpretation of 60-bit payload
--- ------------- --------------------------------
0 Boolean 0 = False, 1 = True