2019-08-18 16:51:26 +00:00
|
|
|
---
|
2019-08-18 21:08:55 +00:00
|
|
|
title: "Open questions"
|
2019-08-18 16:51:26 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
Q. Should "symbols" instead be URIs? Relative, usually; relative to
|
|
|
|
what? Some domain-specific base URI?
|
|
|
|
|
2023-10-29 14:55:19 +00:00
|
|
|
> No. They may be interpreted as URIs, of course; see
|
|
|
|
> [here](preserves.html#fn:iri-labels).
|
|
|
|
|
2019-08-18 16:51:26 +00:00
|
|
|
Q. Literal small integers: are they pulling their weight? They're not
|
2023-10-15 13:11:27 +00:00
|
|
|
absolutely necessary. A. No, they have been removed (as part of the changes
|
|
|
|
at version 0.990).
|
2019-08-18 16:51:26 +00:00
|
|
|
|
2023-10-29 14:55:19 +00:00
|
|
|
> No. They were removed in the simplification of the syntax that was the
|
|
|
|
> outcome of [issue
|
|
|
|
> 41](https://gitlab.com/preserves/preserves/-/issues/41).
|
|
|
|
|
2019-08-18 16:51:26 +00:00
|
|
|
Q. Should we go for trying to make the data ordering line up with the
|
|
|
|
encoding ordering? We'd have to only use streaming forms, and avoid
|
|
|
|
the small integer encoding, and not store record arities, and sort
|
|
|
|
sets and dictionaries, and mask floats and doubles (perhaps
|
|
|
|
[like this](https://stackoverflow.com/questions/43299299/sorting-floating-point-values-using-their-byte-representation)),
|
|
|
|
and perhaps pick a specific `NaN`, and I don't know what to do about
|
|
|
|
SignedIntegers. Perhaps make them more like float formats, with the
|
|
|
|
byte count acting as a kind of exponent underneath the sign bit.
|
|
|
|
|
|
|
|
- Perhaps define separate additional canonicalization restrictions?
|
|
|
|
Doesn't help the ordering, but does help the equivalence.
|
|
|
|
|
|
|
|
- Canonicalization and early-bailout-equivalence-checking are in
|
|
|
|
tension with support for streaming values.
|
|
|
|
|
|
|
|
Q. To remain compatible with JSON, portions of the text syntax have to
|
|
|
|
remain case-insensitive (`%i"..."`). However, non-JSON extensions do
|
|
|
|
not. There's only one (?) at the moment, the `%i"f"` in `Float`;
|
|
|
|
should it be changed to case-sensitive?
|
|
|
|
|
|
|
|
Q. Should `IOList`s be wrapped in an identifying unary record constructor?
|
2021-03-07 20:49:57 +00:00
|
|
|
|
|
|
|
Q. Whitespace - is having `,` as whitespace sensible or not? I can
|
|
|
|
think of arguments both ways. Similarly, JSON *benefits* from
|
|
|
|
requiring a comma separating each item in a list; we currently don't
|
|
|
|
require any whitespace at all between elements of a list, making it
|
|
|
|
ambiguous: does `[123]` denote a single-element or a three-element
|
|
|
|
list? Compare JSON where `[1,2,3]` is unambiguously different from
|
|
|
|
`[123]`.
|
2023-10-29 14:55:19 +00:00
|
|
|
|
|
|
|
> With the addition of the notion of
|
|
|
|
> [delimiters](preserves-text.html#delimiters) to the text syntax, we at
|
|
|
|
> least answer the question of how `[123]` parses: it must yield a
|
|
|
|
> single-element list.
|