This commit is contained in:
Tony Garnock-Jones 2018-09-23 22:44:43 +01:00
parent 00a69ae012
commit ff5cb65f5f
1 changed files with 17 additions and 11 deletions

View File

@ -1,7 +1,13 @@
--- ---
--- ---
<style> <style>
body { padding-top: 2rem; font-family: palatino, "Palatino Linotype", "Palatino LT STD", "URW Palladio L", serif; max-width: 40em; margin: auto; font-size: 120%; } body { font-family: palatino, "Palatino Linotype", "Palatino LT STD", "URW Palladio L", serif; }
@media screen {
body { padding-top: 2rem; max-width: 40em; margin: auto; font-size: 120%; }
}
@media print {
body { margin-left: 2rem; }
}
h1, h2, h3, h4, h5, h6 { margin-left: -1rem; color: #4f81bd; } h1, h2, h3, h4, h5, h6 { margin-left: -1rem; color: #4f81bd; }
h2 { border-bottom: solid #4f81bd 1px; } h2 { border-bottom: solid #4f81bd 1px; }
pre, code { background-color: #eee; } pre, code { background-color: #eee; }
@ -44,13 +50,13 @@ later in this document.
Value = Atom Value = Atom
| Compound | Compound
Atom = SignedInteger Atom = Boolean
| Float
| Double
| SignedInteger
| String | String
| ByteString | ByteString
| Symbol | Symbol
| Boolean
| Float
| Double
Compound = Record Compound = Record
| Sequence | Sequence
@ -80,12 +86,12 @@ values of different kinds is essentially arbitrary, but having a total
order is convenient for many tasks, so we define it as order is convenient for many tasks, so we define it as
follows:[^ordering-by-syntax] follows:[^ordering-by-syntax]
(Values) Compound < Atom (Values) Atom < Compound
(Compounds) Record < Sequence < Set < Dictionary (Compounds) Record < Sequence < Set < Dictionary
(Atoms) SignedInteger < String < ByteString < Symbol (Atoms) Boolean < Float < Double < SignedInteger
< Boolean < Float < Double < String < ByteString < Symbol
[^ordering-by-syntax]: The observant reader may note that the [^ordering-by-syntax]: The observant reader may note that the
ordering here is the same as that implied by the tagging scheme ordering here is the same as that implied by the tagging scheme
@ -325,7 +331,7 @@ The following figure summarises the definitions below:
01 00 mmmm ... SignedInteger, big-endian binary 01 00 mmmm ... SignedInteger, big-endian binary
01 01 mmmm ... String, UTF-8 binary 01 01 mmmm ... String, UTF-8 binary
01 10 mmmm ... Bytes 01 10 mmmm ... ByteString
01 11 mmmm ... Symbol, UTF-8 binary 01 11 mmmm ... Symbol, UTF-8 binary
10 00 mmmm ... application-specific Record 10 00 mmmm ... application-specific Record
@ -887,7 +893,7 @@ should both be identities.
4x - SignedInteger 4x - SignedInteger
5x - String 5x - String
6x - Bytes 6x - ByteString
7x - Symbol 7x - Symbol
8x - short form Record label index 0 8x - short form Record label index 0
@ -1078,7 +1084,7 @@ Q. Should I map to SPKI SEXP or is that nonsense / for later?[^why-not-spki-sexp
Q. Should `Symbol` be a special syntax for a `Record` with a `Symbol` Q. Should `Symbol` be a special syntax for a `Record` with a `Symbol`
label (recursive!?) and a single `String` field? label (recursive!?) and a single `String` field?
Q. Should `String` be a special syntax for `(utf8 Bytes)`? Again, Q. Should `String` be a special syntax for `(utf8 ByteString)`? Again,
recursiveness problems...? recursiveness problems...?
Q. Should `Dictionary` be a special syntax for etc etc.? `Set`? Q. Should `Dictionary` be a special syntax for etc etc.? `Set`?