4 ms·
One can find absurd behavior in corner cases of any non-trivial language, but one can find absurd behavior in YAML without even looking for it.
by eptcyka 6y ago
One can find absurd behavior in corner cases of any non-trivial language, but one can find absurd behavior in YAML without even looking for it.
- whimsicalism 6y agoSuch as? All these cases with no and norwegian or whatever but I haven't run into major problems and use it frequently. e: And, AFAIK, I believe the latest YAML 1.2 spec (from 2009) has addressed these issues.
- metrix 6y agoI use it frequently too, but there's some terrible edge cases: https://stackoverflow.com/questions/53648244/specifying-the-string-value-yes-in-a-yaml-property https://stackoverflow.com/questions/53648244/specifying-the-...
- whimsicalism 6y ago? I don't think these are issues with Yaml 1.2, the spec since 2009.
- eptcyka 6y agoWhat about `thing: 1.0` and `thing: 1.0.0`? Parser implementations have also been buggy. The ruby one in particular being a source of RCE's. Of course, these are implementation issues, but surely a simpler specofication would be easier to implement. And the current specification is anything but simple, clocking 84 pages in the PDF flavour.
- sanity31415 6y agoThe "no"/"norwegian" thing is emblematic of very sloppy thinking in YAML's design, and it's far from the only example. It's possible to avoid these pitfalls - like people do with PHP - but why burden users with that in a new project when better options have been available for years? They obviously like Rust, why not just follow their lead with TOML?
- whimsicalism 6y agoThat "feature" regarding "no" hasn't even been present in the YAML spec since 2009.
- renewiltord 6y agoThanks for being clear about this and repeating it. I didn’t know. I think I will only use YAML 1.2 as configuration language.
- coldtea 6y agoThe NO alone should give you pause... It's a language that coerces basic strings...