35 ms·
Property lists came very close, but still suffer from a number of issues: - The binary format is not efficiently packed. For example, Concise Encoding uses 200
by kstenerud 6y ago
Property lists came very close, but still suffer from a number of issues:
- The binary format is not efficiently packed. For example, Concise Encoding uses 200 of the 256 codes to directly encode integers (-100 to 100) since they are the most common data values in the wild (along with short strings, which also have their own special encoding).
- There's no array type (as in contiguous objects of the same type and size)
- Dates are in seconds, not Gregorian fields, and have no time zones.
- Binary data in the text format is base64 encoded, ensuring that it's 100% unreadable in its raw form.
- Container types are prepended with a length field, making progressive construction impossible.
Infra looks interesting, but it strays from editable text into a kind of hybrid format that requires a specialized editor to read and write. This would only work if such editors became ubiquitous, which is unlikely. I ran down this path for awhile as well, but finally decided against it.