logoalt Hacker News

SOML – A Config Format for Humans

34 points • by microflash • today at 6:42 PM • 15 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.

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.

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/).

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
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/