This is quite nice but there are a few of things that I miss:
1. A way to have multi-line values for non array types
2. A more flexible number syntax (e.g. allow hex and binary integers, allow exponents on floats, allow NaN and +/-Inf)
3. Make it possible to have an extra comma after the last element on an array (as in Python)
4. Add a way to "include" another config file
#1 is important because some projects require all lines to have a max width of 80 lines, including on config files.
#2 is important for scientific/engineering projects. I think the current simple format shows that this format is a little too web centric. If this is going to be used for non-web stuff this is a must.
#3 is something that helps when putting this sort of configuration file in version control. Without this, adding an extra entry to a multi-line array creates a diff in two lines rather than 2 (since you must add a comma to the line above the one that you inserted). This is something I miss in JSON and which Python did just right (IMHO).
#4 would be useful in cases in which you want to provide a base configuration file for example.
Also, maybe I missed it but it is not super clear what would happen if you redefine an existing entry (I hope it is possible). Finally, is order important?
1. A way to have multi-line values for non array types
2. A more flexible number syntax (e.g. allow hex and binary integers, allow exponents on floats, allow NaN and +/-Inf)
3. Make it possible to have an extra comma after the last element on an array (as in Python)
4. Add a way to "include" another config file
#1 is important because some projects require all lines to have a max width of 80 lines, including on config files.
#2 is important for scientific/engineering projects. I think the current simple format shows that this format is a little too web centric. If this is going to be used for non-web stuff this is a must.
#3 is something that helps when putting this sort of configuration file in version control. Without this, adding an extra entry to a multi-line array creates a diff in two lines rather than 2 (since you must add a comma to the line above the one that you inserted). This is something I miss in JSON and which Python did just right (IMHO).
#4 would be useful in cases in which you want to provide a base configuration file for example.
Also, maybe I missed it but it is not super clear what would happen if you redefine an existing entry (I hope it is possible). Finally, is order important?
EDIT: typo.