logoalt Hacker News

SOML – A Config Format for Humans

39 points • by microflash • today at 6:42 PM • 20 comments • view on HN

Comments

lightandlight • today at 7:43 PM

Ironically the project seems LLM-generated.

I don't want to read Claude's interpretation of why your project matters. I want you to tell me directly.

joshheitzman • today at 8:41 PM

From the comments here I can infer that it has a schema and in turn I can extrapolate that this is as much "for humans" as many other config formats that are deterministically parseable.

A GUI is a config format for humans as it can you show what all of the configuration options are along with text that tells you what they do.

catlifeonmars • today at 8:37 PM

There are numerous inaccuracies in the “Why not TOML” section of the README. Here are a few:

> CVE-2026-44244 injected a [core] section into .git/config for code execution.

Git config is not TOML. It’s an ini-based bespoke syntax

> SOML needs quotes for a literal dot.

So does TOML, the dot notation is for nested keys. You use quotes for a literal dot.

——

FWIW I like the decision to have a first class duration type.

james_marks • today at 7:52 PM

From the title, I thought this was a specification for configuring humans. I don't quite know what that means, and I'm disappointed still not to know.

CodesInChaos • today at 7:24 PM

What I'm missing:

1. The readme doesn't make it clear what its "float" type is. A double, a decimal, implementation defined. I'm generally not a fan of restricting numbers to what a double can represent, like toml does.

2. It doesn't have a good way to model key-value pair like types such as tagged unions, polymorphic types, or function invocations. Simply allowing a key-value pair as a value (right associative) where the key is a string matching the keys of an object would fix this. Alternatively a function call syntax would fix this, which would also enable tuples as a concept distinct from arrays.

➕ show 1 reply
priomsrb • today at 8:12 PM

Looks nice!

It would be great if you had a simple website that allowed you to enter SOML and see the JSON side-by-side (similar to typescript playground https://www.typescriptlang.org/play/).

jll29 • today at 7:17 PM

Looks like Windows *.ini format except ":" instead of "="...

➕ show 1 reply
petre • today at 8:08 PM

We already have TOML and it's great. I can seamlessly upgrade from ini to toml.

➕ show 1 reply
drvd • today at 7:23 PM

So a stripped down variant of cue? Why not use cue directly?

➕ show 1 reply
esafak • today at 7:16 PM

Can you add README sections for the schema and supported types?

➕ show 1 reply
paulddraper • today at 7:10 PM

> Top-level arrays. A TOML file is always a table, so a list of records needs a wrapper key.

I'm curious for example configs that are top-level lists?

arionmiles • today at 7:20 PM

See also: HUML [1]

1: https://huml.io/