TOML – Tom's Obvious, Minimal Language
TOML superficially looks clean, but it has many of the same problems other similar languages have.<p>Such file formats are typically used for configuration files. Yet, a substantial amount of effort was expended on data types not commonly seen in configuration files, such as a date-time-offset. Meanwhile, <i>much</i> more common data types typically used in configuration files is missing, such as GUIDs, IP Addresses, and byte arrays.<p>Most disappointingly, TOML has a &quot;table&quot; type, but unfortunately, just like other &quot;RPC as Config&quot; formats, the column names need to be repeated for every row, which is just crazy. It also makes <i>no sense</i> to talk about &quot;arrays of tables&quot;, which are actually just &quot;rows&quot; in standard terminology. An array of rows... is a table.<p>Here is a terse example of the type of thing that <i>does</i> come up very often in bulk provisioning of the type that needs config files full of data:<p><pre><code>    @&quot;
    Server,Subnet,IP
    db01,databases,10.1.2.3
    db02,databases,10.1.2.4
    user01,filers,10.3.10.1
    user02,filers,10.3.10.2
    &quot;@ | ConvertFrom-Csv | New-VMBuildScript.ps1
</code></pre>
I&#x27;m yet to see a config file format that can even approach this in terms of its readability and terseness.