4 ms·
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
by ymse 10y ago
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}}
- crdoconnor 10y agoI agree. That's partly why I wrote this: https://github.com/crdoconnor/strictyaml https://github.com/crdoconnor/strictyaml e.g. >>> 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}}