Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ietf-104-report.html #10

Merged
merged 1 commit into from May 10, 2019
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.

Always

Just for now

@@ -3,7 +3,7 @@
a {font-size:10pt;color:blue;text-decoration:none}
div.json {margin-top:8pt;margin-bottom:15pt;word-break:break-all;width:800pt;background:#F8F8F8;border-width:1px;border-style:solid;border-color:grey;padding:10pt;box-shadow:3pt 3pt 3pt #D0D0D0}
div.header {font-size:12pt;margin-top:15pt;margin-bottom:8pt;font-family:arial,verdana}
code {font-size:9pt;font-family:'Courier New',Courier}
code {font-size:11pt;font-family:'Courier New',Courier}
div.claim {font-style:normal;margin-top:20pt;font-weight:bolder}
div.response {margin-top:10pt}
</style></head>
@@ -86,16 +86,16 @@
</div>

<div class="claim" id="3">
3. Number serialization is huge problem
3. Number serialization is a huge problem
</div>
<div class="response">
I clearly underestimated this part when I started with JCS back in 2015, but
recently fast, open sourced and quite simple
<a href="https://github.com/ulfjack/ryu"
target="_blank">algorithms</a> have been developed
making number serialization according to JCS/ES6 in scope for any platform.
Extensive test data is
<a href="https://github.com/cyberphone/json-canonicalization/tree/master/testdata#es6-numbers"
Extensive test data is
<a href="https://github.com/cyberphone/json-canonicalization/tree/master/testdata#es6-numbers"
target="_blank">publicly available</a>.
</div>

@@ -118,24 +118,24 @@
<div class="claim" id="5">
5. You need a data model
</div>
<div class="response">
JCS builds on the same a bare-bones data model for primitives as JSON
(null, true, false, numbers, strings), albeit with a couple of constraints:
<ul>
<div class="response">
JCS builds on the same a bare-bones data model for primitives as JSON
(null, true, false, numbers, strings), albeit with a couple of constraints:
<ul>
<li>
JSON Numbers MUST conceptually be treated as IEEE-754 double precision data during parsing/serialization
(which also is a generic requirement for being JavaScript compatible)
</li>
<li>
JSON Strings MUST (modulo escaping) be treated as immutable during parsing/serialization
</li>
</ul>
This is all what is needed with respect to data models for creating reliable and interoperable "hashable" JSON.
Existing JSON-based systems use external mappings to emulate
missing data types like "DateTime", "Money", "Binary" and similar.
That not all JSON applications use the same conventions
<u>do not seem to have hampered the popularity and ubiquity of JSON</u>.
Standardizing external mappings is another [possible] IETF activity, not related to JCS.
</li>
<li>
JSON Strings MUST (modulo escaping) be treated as immutable during parsing/serialization
</li>
</ul>
This is all what is needed with respect to data models for creating reliable and interoperable "hashable" JSON.
Existing JSON-based systems use external mappings to emulate
missing data types like <code>int32</code>, <code>DateTime</code>, <code>Money</code>, <code>Binary</code> and similar.
That not all JSON applications use the same conventions
<u>do not seem to have hampered the popularity and ubiquity of JSON</u>.
Standardizing external mappings is another [possible] IETF activity, not related to JCS.
</div>

<div class="claim" id="6">
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.