4 ms·
JSON would be a nice way to make a config file. I say this as an xmonad user too, which does its configs in Haskell as well. I love Haskell its just I don't wan
by 0des 5y ago
JSON would be a nice way to make a config file. I say this as an xmonad user too, which does its configs in Haskell as well. I love Haskell its just I don't want it to be my config language
- stavros 5y agoI don't think JSON is a nice way to write config files at all. You can't even add comments. I'd much prefer something like Cue.
- xena 5y agoI think the hard part here is using enough of a type system to ensure data sanity but not so much of one that you drown in metadata. I'm not really sure of a proper compromise like that.
- stavros 5y agoYeah, fair point. I don't know Cue well enough to know how much drowning there is, from my limited understanding you can specify as many types as you want and leave the rest dynamic, but I'm not sure at all.
- dotancohen 5y agoSo long as the parser doesn't except on undefined keys, you can add pseudo-comments to many places in a JSON config file. { "foo": "bar", "COMMENT": "This bars the foo" }
- ithkuil 5y agoIf it doesn't error in undefined keys you cannot help people figuring out when they introduced a typo in their config
- viraptor 5y agoThat still doesn't let you comment on items in the list, or on elements of actual maps - for example if those were environment variables, now you've got a random "COMMENT" variable.
- dotancohen 5y agoSure, it's a hack, but it's a useful hack that works in many places.