4 ms·
In that case, what if you swapped out the language for, say, Scheme? Does that help?
by freeopinion 5y ago
In that case, what if you swapped out the language for, say, Scheme?
Does that help?
- Ericson2314 5y agoThere is Guile for that. The Nix language out-schemes scheme (even smaller), so I don't really see the point.
- mbrock 5y agoOne reason is that Scheme has Emacs modes that connect to a live system for precise jump-to-definition, etc. This works with Guix and is extremely convenient. Scheme's metaprogramming also enables Guix's beautiful system of code staging, G-expressions. https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html https://guix.gnu.org/manual/en/html_node/G_002dExpressions.h...
- Ericson2314 5y ago> One reason is that Scheme has Emacs modes that connect to a live system for precise jump-to-definition, etc. This works with Guix and is extremely convenient. Those are all valuable things, but I don't think that would actually be hard to implement for the Nix language either. Just no one bothered > Scheme's metaprogramming also enables Guix's beautiful system of code staging, G-expressions. Yes not pasting together strings for bash would be nice, but with all due respect to scheme's metaprogramming, which I do indeed highly respect, I view this as fairly orthogonal. From a quick glance, g-exps don't have much binding structure? That means hygiene and other things are not as useful, and just doing ["see" "I" "can" "sexp" "too"] in the Nix expression language isn't actually so bad.
- rekado 5y agoWith G-expressions you can splice in computed store values, e.g. the computed output location of a package. I recommend the paper[1] explaining why they exist and what alternatives they replace. [1]: https://hal.inria.fr/hal-01580582 https://hal.inria.fr/hal-01580582
- dwohnitmok 5y agoIt's not purely a language thing per se, i.e. there are ways the language could change minimally but error messages could have a huge leap in improvement. However, certain idioms in the standard library might need to change, and certainly changing the language at the same time can improve the error messages even more. I have only a little experience with Guix (replacing Nix with Scheme), so I'm not very confident in this, but the shallow impression I have is that Guix's error messages are not much better.
- khimaros 5y agoit sounds like you might be looking for Guix https://guix.gnu.org/ https://guix.gnu.org/
- d3nj4l 5y agoI imagine GP was setting up to redirect there, given the very deliberate choice of language.