3 ms·
> Nix uses different languages for the host-side and build-side. I'm not sure what you mean by that. Nix packages are Nix expressions.
by thomastjeffery 9y ago
> Nix uses different languages for the host-side and build-side.
I'm not sure what you mean by that. Nix packages are Nix expressions.
- davexunit 9y agoThose package expressions have Bash snippets embedded in them that run on the build daemon. The daemon doesn't evaluate Nix code.
- thomastjeffery 9y agoHow is that a problem?
- davexunit 9y agoThe paper I linked to explains the drawbacks to such a design.
- sly010 9y agoHe is probably referring to the thing you see when you look into a .drv file, aka the immediate result of evaluating a derivation in nix. That language/datastructure is what nix-build evaluates to actually build things, otherwise the nix language itself is purely functional and cannot really do anything on it's own. I guess in guile/scheme the equivalent data structure happens to be an s-expression. Edit: except the paper actually describes that it's a g-expression.