Hacker News new | ask | show | jobs
by tannhaeuser 2520 days ago
That looks like a Turing-complete DSL. Not like JSON at all. Do we need yet another Turing-complete language for writing package metadata?
2 comments

The example lacks functions / flow-control statements (ok, apart from "import if not defined", but it's more of a default value than a branch) / references to other elements. It's pretty much key-value dictionary. Not sure how you got an impression of Turing-complete DSL from that, since it would require at least one of them.
The Nix expression language has branches and functions (including recursive functions). It is Turing complete, and it probably is necessary for its charter.
OP said it "looks like" a Turing complete DSL just from the example. Regardless of what extra functionality the actually is, the examples didn't suggest it.
I guess I was giving the benefit of the doubt, since that's such an irrelevant nit to pick...
It's not "package metadata", it's the complete instructions for building an entire operating system in an automated way.