The Polymorph Data Language (PDL) is a versatile, compact and fast alternative to JSON, YAML, XML and CSV.
By versatile, I mean that PDL can represent more data structures than JSON, including tabular data structures (like CSV), compact tree structures (using nested tabular data structures), and cyclic object graphs.
The Polymorph Data Language also supports embedding custom instructions which you can interpret at parse time - giving you even more flexibility and versatility.
By compact, I mean you are able to express some data structures, such as tables and trees, more compactly than with JSON. You can even use custom instructions to gain more compactness.
By fast, I mean that the syntax of the Polymorph Data Language is reasonably easy to implement a fast tokenizer for.
Polymorph Data Language is the textual counterpart to the binary encoding Polymorph Data Encoding. You can convert from PDL to PDE and from PDE to PDL, if you want to. But you can also just use PDL by itself.
In this book I explain what the Polymorph Data Language is, and why it is designed the way it is.