YAML is a pain to parse. And as a human, having to remember quoting string values like "yes" and "on" to prevent them from being interpreted as booleans in YAML really grinds my gears. I don't care if it's prettier; YAML can't disappear quick enough.
I wrote a haiku some years back to demonstrate how broken the Ruby implementation was.
YAML:
takes a no for a 'no': no
spring,summer,fall,winter: 3,6,9,12
the game is: on
Running it through ruby 2.3.1 yields..
{"YAML"=>
{"takes a no for a 'no'"=>false,
"spring,summer,fall,winter"=>36912,
"the game is"=>true}}
>>> load(x, Map({"YAML": MapPattern(Str(), Str())}))
{'YAML': {'spring,summer,fall,winter': '3,6,9,12',
"takes a no for a 'no'": 'no',
'the game is': 'on'}}
>>> load(x, Map({"YAML": Map({"spring,summer,fall,winter": Str(), "takes a no for a 'no'": Bool(), "the game is": Bool()})}))
{'YAML': {'spring,summer,fall,winter': '3,6,9,12',
"takes a no for a 'no'": False,
'the game is': True}}
I wrote a haiku some years back to demonstrate how broken the Ruby implementation was.
Running it through ruby 2.3.1 yields..