News for hackers. Stuff that matters.
Re:Bugs in the YAML specification by OskarS on Sunday September 04, 2016 @04:38PM (#12426592)
I would imagine this feature is primarily useful if you want to serialize a whole bunch of objects that all reference each other, but it makes me feel a bit icky. It feels like it breaks an intuitive assumption you have about hierarchical formats, which is that there should be no cycles.

Maybe that's just my personal bias, but I feel like the relative simplicity of JSON is a strong feature in its favor. As a developer, I have very clear understanding of the data I'm reading, and with that I can more easily make safer and more stable code.

Re:Bugs in the YAML specification by junke on Sunday September 04, 2016 @04:43PM (#12426618)
Yet, a lot of hierarchical structures I see are full of "ref" and "id" attributes, which effectively encode cyclic graphs.
Re:Bugs in the YAML specification by OskarS on Monday September 05, 2016 @05:42AM (#12429162)
That's certainly true, but at least that's not going to cause an infinite loop while wandering down the structure, it's just gonna end at a leaf "ref" or "id".
Re:Bugs in the YAML specification by junke on Monday September 05, 2016 @07:49AM (#12429618)
In my view this is more a question of simple interface vs. simple implementation. Having cross-references at the language level gives a uniform and simplified interface at the cost of more having to develop careful tools.

Not saying refs/id are bad, but at least with a uniform syntax and language support, you don't have to reimplement custom cross-reference resolvers.

Re:Bugs in the YAML specification by twelvechairs on Sunday September 04, 2016 @05:34PM (#12426836)
You are right for most use cases - which is why json is so popular. Sometimes however there is very good reason to have non-hierarchical data - and YAML fits this use case.