It has isomorphic text and binary representations as part of the standard making debugging or optimized transport a config option.
The type system is significantly richer than JSON and maps well to several languages (internally Amazon uses it with C, C++, Perl, Java, Ruby, etc.).
S-Expressions.
Then how is the client supposed to handle the data? Guessing?
> backwards compatible schemas
> text and binary representations
> type system
> maps well to several languages
Protos have all these.
> S-Expressions
Okay? Is that useful?
I bet it's super useful if you have sexprs in your data.
Yes, super useful. Depends on how your application needs to use S-expressions. You could define DSLs for a very expressive and complex rules-engine with S-Expressions forming your rules. Now you can write your rules as text, pass it around and build rule evaluators of those expressions all on top of Ion.