Examples are helpful. An example of an example: http://www.sinatrarb.com/
Examples are helpful. An example of an example: http://www.sinatrarb.com/
I would argue that extreme expressiveness through the most simplistic rules makes a data-format easier to understand than some data-format which is only mediocre-ly expressive through more complex and inconsistent rules.
For instance, Lisp/S-expressions typically has a much simpler data-format than C and is much easier to learn from end to end.
The complexities associated with Lisp-code can not and should not be attributed to it's syntax, but rather that most Lisp-code is written to be purely functional and non-procedural.
While procedural and/or stateful C/C++/Java/C#-code might be easier to understand for a C/C++/Java/C#-programmer, I don't think you would find any of those programmers arguing that S-expression syntax is harder to grasp and master than the complex syntax of C-based languages.
{"follows": ["ben", "billy-jo", "anon"]
,"message-counts": {"billy-jo-ben": 2}}
At a glance, is the order of follows relevant? Should it be preserved? Is "anon" the same kind of thing as "ben" or "billy-jo"? Is the key in message-counts another name, or some collection thereof?