4 ms·
Hot take as a NixOS user that uses Nix for work: "all" we need is a much better, sound, statically typed language to build better abstractions with. The only h
by mixedCase 4y ago
Hot take as a NixOS user that uses Nix for work: "all" we need is a much better, sound, statically typed language to build better abstractions with.
The only hard requirements I can think of are algebraic data types with exhaustive pattern matching to go with, row polymorphism, purity and good inline documentation support.
I don't know if a good enough hostable language exists or if it should be a new version of Nixlang, but almost every single annoying problem that makes me go "Nix is getting in my way" can be traced back to the lack of a good, powerful type system leading to a house of cards situation whether it comes from nixpkgs or entirely of my own making.
- jhillyerd 4y agoI think this is true for Nix in the deployment/ops space, where debugging a broken build can be very frustrating. Language improvements are going to be less useful for app developers, the Flake learning curve is not going to get better with a type system. Perhaps something like heroku buildpaks (https://github.com/railwayapp/nixpacks https://github.com/railwayapp/nixpacks ?) would help devs get on the Nix train.
- tikhonj 4y agoThe problem is that we need not just a language like that, but a version of Nixpkgs-the-codebase designed for that language with corresponding sensibilities. And that's a much bigger obstacle than coming up with a language!
- nextaccountic 4y agoCan Dhall be that language?
- emptysongglass 4y agoHow does Dhall compare to Nickel?