• tinkling4938@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 hours ago

    YAML is (mostly) a superset of JSON. Is the face hugger any less evil than the alien bursting out of your chest?

    • SpaceNoodle@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 hours ago

      It’s got enough serious flaws and quirks that I can feel smug hating on it. JSON is far from perfect, but overall it’s the least worst of human-readable formats.

      Only Python manages to get away with syntactical indentation.

      • renzev@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 hours ago

        The complaints about yaml’s quirks (no evaluating to false, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.

        • AnyOldName3@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          3 hours ago

          no doesn’t become false, it becomes Norway, and when converted to a boolean, Norway is true. The reason’s because one on YAML’s native types is an ISO country code enum, and if you tell a compliant YAML implementation to load a file without giving it a schema, that type has higher priority than string. If you then call a function that converts from native type to string, it expands the country code to the country name, and a function that coerces to boolean makes country codes true.

          The problem’s easy to avoid, though. You can just specify a schema, or use a function that grabs a string/bool directly instead of going via the assumed type first.

          The real problem with YAML is how many implementations are a long way from being conformant, and load things differently to each other, but that situation’s been improving.