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.
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.
; 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.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.
"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.