Hacker News new | past | comments | ask | show | jobs | submit login

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}}



I agree. That's partly why I wrote this: 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}}




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: