▲ | kccqzy 3 days ago | ||||||||||||||||||||||
Configuration files need to be powerful programming languages (in terms of expressiveness) while being restricted (in terms of network and I/O and non-determinism). We need to aim very high for configuration languages especially when we treat them like user interfaces. Look at Cue (https://cuelang.org/), Starlark or Dhall (https://dhall-lang.org/) for inspiration, not JSON, unless your configuration file is almost always written programmatically. | |||||||||||||||||||||||
▲ | madeofpalk 3 days ago | parent | next [-] | ||||||||||||||||||||||
Any configuration language that doesn't support strict/user/explicit types is worthless (ahem jsonnet). The idea of configuring something but not actually having any sort of assurances that what you're configuring is correct is maddening. Building software with nothing but hopes and dreams. | |||||||||||||||||||||||
▲ | candiddevmike 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||
Or Jsonnet (https://jsonnet.org), if you do like JSON but want less quoting. | |||||||||||||||||||||||
▲ | arccy 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||
expressiveness unfortunately usually means that while you can read the output value, you lose the ability to modify it programmatically... | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | 3 days ago | parent | prev [-] | ||||||||||||||||||||||
[deleted] |