4 ms·
> minimalistic The Nix language is far more minimalistic than any Scheme. I have nothing against Scheme but let's be clear, Nix out-Schemes Scheme in this rega
by Ericson2314 4y ago
> minimalistic
The Nix language is far more minimalistic than any Scheme. I have nothing against Scheme but let's be clear, Nix out-Schemes Scheme in this regard.
- pxc 4y agoPeople complain about learning 'the language' when the thing they've really been trying to learn is actually: - the language - the stdlib (nixpkgs.lib) - the NixOS module system - several particular packaging ecosystems (stdenv, buildGoModule, buildPythonApplication, etc.) - the hooks and stuff that get exposed as variables and functions in bash-based builders all at once! (plus maybe even the derivation format) It makes sense as a shorthand, and I'm sure it describes the feeling, that people say 'learning the Nix language was overwhelming at first', because using the language in the context of all of those other things (essentially libraries and applications written in Nix) is the context in which one generally tries to learn it. And that really can be a lot to take in at once. But I think when someone says 'learning the Nix language was hard' or something similar, it does sometimes mislead others about the complexity of the Nix language itself. So there's this widespread misconception that Nix-the-language has a lot to it. But like you say, the language itself is actually super minimal. (And really good for its intended purpose, imo.)
- Ericson2314 4y agoI definitely agree. I want Nix to "show off" its layering a bit more for many reasons, but one of them is to hopefully allow for a more gradual curriculum.
- jnxx 4y agoFor somebody who knows Lisp and Scheme, it is however more than nice to already know the language and be able to just read the interface description. To give an extreme example of the opposite direction (no, I do not want to bash Nix here), take CMake and its configuration language which has no real definition. It is just painful to use.