we have a discussion here about preserving orders of hashes :
https://github.com/uiri/toml/pull/2
its better to describe this in specification , my suggestion is : yes , key orders and group key orders must be preserved in parsers implementation
I don't think preserving order in hash tables is necessary. It's a big extra step that implementations have to deal with and I don't see any compelling use cases. If you need ordering, use arrays.
preserving is necessary , for example i want to use toml as an operation config file and python parser should represent the keys in their original order in toml file so i can do actual jobs in correct orders , none of python implementations can do that because their represent a "dictionary data type" which is unordered , but php implementations are ok . in the other hand we cant create the same toml file with an output of a python parser because all hashes orders is wrong . its good to preserving the hash orders and its not a really big deal for implementations and couple of them such as php don't need to change . we fix one of the python implementation just now :) :
Most helpful comment
preserving is necessary , for example i want to use toml as an operation config file and python parser should represent the keys in their original order in toml file so i can do actual jobs in correct orders , none of python implementations can do that because their represent a "dictionary data type" which is unordered , but php implementations are ok . in the other hand we cant create the same toml file with an output of a python parser because all hashes orders is wrong . its good to preserving the hash orders and its not a really big deal for implementations and couple of them such as php don't need to change . we fix one of the python implementation just now :) :
https://github.com/beygi/toml