I was fed up with the poor opportunities for abstraction in configuration formats. The many configuration languages that exist already were not invented here, so I wrote my own, at first just for fun. But then it became useful.
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
Kusion Configuration Language (KCL) is an open-source constraint-based record and functional language. KCL improves the writing of a large number of complex configurations through mature programming…