diff --git a/cheatsheet.md b/cheatsheet.md index e12b301..99efff7 100644 --- a/cheatsheet.md +++ b/cheatsheet.md @@ -31,7 +31,7 @@ For a value `v`, we write `«v»` for the binary encoding of `v`. e(v, d) = [v + d] if v < 128 e(v / 128, 0) ++ [(v % 128) + d] if v ≥ 128 - «#!V» = [0xBF] ++ «V» + «#!V» = [0xAB] ++ «V» The functions `binary32(F)` and `binary64(D)` yield big-endian 4- and 8-byte IEEE 754 binary representations of `F` and `D`, respectively. @@ -50,4 +50,4 @@ decoder knows when to stop. already be annotated) with some sequence of `Value`s `[v_1, ..., v_m]`, surround `r` as follows: - [0xBE] ++ len(|r|) ++ r ++ len(|«v_1»|) ++ «v_1» ++...++ len(|«v_m»|) ++ «v_m» + [0xBF] ++ len(|r|) ++ r ++ len(|«v_1»|) ++ «v_1» ++...++ len(|«v_m»|) ++ «v_m» diff --git a/preserves-binary.md b/preserves-binary.md index d7dc987..7717beb 100644 --- a/preserves-binary.md +++ b/preserves-binary.md @@ -178,25 +178,25 @@ The functions `binary32(F)` and `binary64(D)` yield big-endian 4- and ### Embeddeds. The `Repr` of an `Embedded` is the `Repr` of a `Value` chosen to -represent the denoted object, prefixed with `[0xBF]`. +represent the denoted object, prefixed with `[0xAB]`. - «#!V» = [0xBF] ++ «V» + «#!V» = [0xAB] ++ «V» ### Annotations. To annotate a `Repr` `r` with some sequence of `Value`s `[v_1, ..., v_m]`, surround `r` as follows: - [0xBE] ++ len(|r|) ++ r ++ len(|«v_1»|) ++ «v_1» ++...++ len(|«v_m»|) ++ «v_m» + [0xBF] ++ len(|r|) ++ r ++ len(|«v_1»|) ++ «v_1» ++...++ len(|«v_m»|) ++ «v_m» -The `Repr` `r` *MUST NOT* already have annotations; that is, it must not begin with `0xBE`. +The `Repr` `r` *MUST NOT* already have annotations; that is, it must not begin with `0xBF`. For example, the `Repr` corresponding to textual syntax `@a@b[]`, i.e. an empty sequence annotated with two symbols, `a` and `b`, is «@a @b []» - = [0xBE] ++ len(|«[]»|) ++ «[]» ++ len(|«a»|) ++ «a» ++ len(|«b»|) ++ «b» - = [0xBE, 0x81, 0xA8, 0x82, 0xA6, 0x61, 0x82, 0xA6, 0x62] + = [0xBF] ++ len(|«[]»|) ++ «[]» ++ len(|«a»|) ++ «a» ++ len(|«b»|) ++ «b» + = [0xBF, 0x81, 0xA8, 0x82, 0xA6, 0x61, 0x82, 0xA6, 0x62] ## Security Considerations @@ -274,11 +274,11 @@ undetermined number of `Value`s across, say, a TCP/IP connection: A9 - Set AA - Dictionary - (Ax) RESERVED AB-AF + AB - Embedded - (Bx) RESERVED B0-BD - BE - Annotations. {BE Lval val Lann0 ann0 Lann1 ann1 ...} - BF - Embedded + (Ax) RESERVED AC-AF + (Bx) RESERVED B0-BE + BF - Annotations. {BF Lval val Lann0 ann0 Lann1 ann1 ...} ## Appendix. Binary SignedInteger representation