1. 24
  1. 3

    So, s-expressions, but the brackets are curly and after the first atom.

    1. 3

      looks like s-expressions without () but {} when nesting is needed. Find it puzzling it’s not mentioned in the FAQs.

      1. 1

        Curl the programming language is sorta like that, which is interesting.

      2. 3

        It looks readable enough. I liked the raw strings. I didn’t see mention any start / end of document markers. That feels a bit strange, and I would be concerned about its inability to detect that the file or stream has been truncated.

        1. 2

          KDL is a document language with xml-like semantics

          It fails to have any xml-like semantics. Seems mostly JSON-like.

          1. 3

            I find it most reminiscent of troff, with somewhat more human-friendly syntax. The main difference with troff is the addition of the braces for nesting.

            1. 1

              My thoughts exactly.

            2. 1

              It has nesting and named nodes which can have children and properties. That’s the basics of xml. What semantics are you thinking of?

              1. 1

                XML is all about the eXtensible, which is primarily namespaces.

                1. 1

                  I thought the “extensible” part was about its dynamism, a reaction to passing structs around and having to conform to pre-determined ABIs or something. The XML specification doesn’t even support namespaces (tho they’re now part of XML as determined by usage.)

                  1. 3

                    The XML specification is a bit over-modular, but it does contain references to the namespace spec, which does exist https://www.w3.org/TR/xml-names/ it’s not just a “determined by usage” thing

            3. 1

              Pretty neat. I’ve been gently pushing to use it at work. We’re on YAML right now for human-readability, but we’re using tags and other delights, which makes me think what we really want is something more complex. (Significant whitespace is not a concern for my teammates.)

              1. 1

                i like this, mentally filing it away for the next time i need a text based serialization format. seems like a fun language to bake into the stdlib of a personal programming language project