Specification
The TSON specification, split into two parts, plus room for companion specifications developed alongside it.
These documents describe the specification text. Implementations of TSON (parsers, encoders, libraries) may be licensed however you choose; the specification's license applies to the written text, not to code that implements it.
Spot an error, or have a comment on the specification? Open an issue on GitHub.
TSON Specification
- TSON Part 1: Text Data Format
The notation and reference encoding of the TSON schema system: the lexer, structural grammar, absent sentinel, augmentation syntax (annotations, type annotations, directives), and base type resolution — everything needed to losslessly read and write schemaless TSON data.
- TSON Part 2: Type System and Schema
The centre of the TSON series: the schema grammar, the type system and its operations, the schema chain and its resolution model, schema compilation and resolver output, the text encoding rules, and the operations of the schema, meta, and import directives.
Companion Specifications
- TSON Developer Guide
Design history, rationale, extended examples, and implementation guidance for the TSON specification series. Nothing in this guide is normative; where it appears to disagree with [TSON-DATA] or [TSON-SCHEMA], the specifications govern.
Schema Source Files
The normative TSON schema source files in .tn1 format.
Resolved Fixtures
Non-normative resolver output for the schema source files above. Parse the source, run the resolver, canonicalise, and compare against these fixtures.