• eichin 9 hours ago

    As a python and markdown user, the triple-quoted strings never ending bugs me, or am I misreading the examples?

    • mubou 14 hours ago

      > types are deferred until parse time; the app knows what it wants.

      Thank you! Types have no business in a configuration format when the app already has a defined schema. Most formats try to convey all of the information needed to reconstruct an object, but that's totally unnecessary and only serves to complicate the syntax and introduce unnecessary errors/mishandlings.

      Are there any other config syntaxes that do this? Besides ad-hoc INI, that is.

      • darccio 10 hours ago

        Confetti [0] was shared recently here at HN. It's described as "simple, typeless, and localization-friendly configuration language designed for human-editable configuration files".

        0: https://news.ycombinator.com/item?id=43534240

        • bvrmn 8 hours ago

          Strict YAML has only strings, lists and maps. TBH it has much more nicer syntax as well.

        • epage 8 hours ago

          Looking at some of the examples, I don't feel like I can interpret how some of the strings are suppose to work. I feel like this is a flaw with over-emphasizing Postel's Law.

          Also, while indentation "works" for Python, the ratio of different levels per line is low while YAML it is high and I'm not a fan. I'd want to see a more complex example to have a real feel for this.

          • 3eb7988a1663 10 hours ago

              ; Quoting is rarely required. Keys and values can contain pretty
              ; much any character except ; (and = for keys).
              spaced out key = value with = signs and "quotes"!
            
            That one makes my spider sense tingle, but it does seem elegant at making it easier to write.
            • tcpiplab 9 hours ago

              As a developer I'm totally hoping this format becomes widely adopted. As a pentester I'm looking forward to exploring what the security implications may or may not be.

              Also, I wonder if the syntax is intuitive enough that you could just, for example write a bunch of rules and preferences and such, then attach the file along with your prompt to an LLM and just tell it to follow the rules and logic of the attached config file which is in a new format that the LLM must figure out how to understand. I'll try this.

              • tcpiplab 8 hours ago

                FWIW Anthropic Claude understood the CONL format just fine.

                "I was able to understand your configuration file without any difficulty."

                I dunno what this tells us but I've been wanting to find a simpler syntax for LLM rules. Not a serious project of mine but I have noticed that LLM guardrails of various types are written in many different ways.

                Some are Markdown-ish or unstructured text strings. Others are somewhat like yaml but contain enough additional complex functionality that you must learn the new language in order to understand the rules you want to write to protect your LLM. For example the syntax used for Nvidia's Nemo Guardrails rules.

            • edoceo 10 hours ago

              Would have like # or // as the comment. The issues raised about them (URLs) are solved in other tooling by rules like first chars on their own line to comment.