4 ms·
Specifically, lines that begin with a word or words followed by a colon are dictionary items; a dash introduces list items, and a leading greater-than symbol si
by MildlySerious 6y ago
Specifically, lines that begin with a word or words followed by a colon are dictionary items; a dash introduces list items, and a leading greater-than symbol signifies a line in a multiline string. Dictionaries and lists are used for nesting, the leaf values are always strings.
No doubts that there are use cases for this, but calling something that casts everything to strings an alternative to the above formats seems like a bit of a stretch.
- xorcist 6y agoIt's not a bad idea, as text file formats are all strings anyway, to let the application do the conversion. It's the one with the domain knowledge anyway. Perhaps it could do with a companion library to specify the data format and emit parse errors as appropriate. But to keep that out of the syntax makes a lot more sense than the insanity that is yaml.
- dagw 6y agoI've been using toml for my latest project and the one thing that really bitten me is that [1,2,3] is a valid array [1.1, 1.2, 1.3] is a valid array, but [1, 1.5, 2] isn't valid and throws an exception due to it having heterogeneous types.
- sepples 6y agoThis is something that was fixed in the forthcoming TOML 1.0 spec. Parsers that have been updated to support it will allow heterogeneous types in arrays, which your application can convert to a vector of floats or whatever collection type it uses internally.
- dagw 6y agoFantastic. So far that has been literally my only complaint about TOML.