Are you aware of the HCL2 specification at https://github.com/hashicorp/hcl2/blob/master/hcl/hclsyntax/...? It also provides a validator, even for custom schema definitions.
Bazel have too it's own (turing complete ?) Programming configuration language
I'm a little bummed I was beat to it. I was going back and forth on allowing defining functions. Definitely no classes.