6 ms·
I think the problem is people are assuming that Nix is just one another tool. In reality Nix is a programming language. It is a relatively simple language, but
by takeda 3y ago
I think the problem is people are assuming that Nix is just one another tool.
In reality Nix is a programming language. It is a relatively simple language, but it is also functional and lazily evalated. And while the language is simple, its stdlib (nixpkgs) is actually puts another abstraction layer on top of it which is quite complex.
I do think though that Nix should do the same thing other programming languages do: identify what the nix stdlib is, move it to a separate repo with its own release schedule and ensure that whatever is added to it/removed from it is documented.
This won't help author of this blog, but it would be a great help for anyone who is willing to go through Nix Pills.
- IshKebab 3y agoTbh I don't understand why they created a new programming language. Why not use something like Starlark or even just sandboxed JavaScript?
- TillE 3y agoIt's the usual argument for any domain-specific language. Personally I loathe DSLs unless you genuinely need something really fast and really simple. Otherwise please just pick something off the shelf and save everyone the headache.
- takeda 3y agoWell, Guix started as Nix with established language, and that didn't really made it better. The Nix language is functional and lazily evaluated, it closely matches how Nix works builds packages, which basically makes it less verbose. Even if they used python (or python like language like starlark), and then proceed to build an abstractions on top of it, barely documenting the function. Leaving old ones with the new ones, you would still be confused and frustrated needing to look at the source code.