3 ms·
The subset of Scheme that we use in Guix is mostly functional. (It's quite unlikely to find things like `set!` in the code for package expressions, for example
by rekado 10y ago
The subset of Scheme that we use in Guix is mostly functional. (It's quite unlikely to find things like `set!` in the code for package expressions, for example.)
Then there's patching of sources (e.g. to replace shebangs to point to the actual location of the interpreter). Obviously, you want to have side effects there, so that's not purely functional. That's unrelated to Scheme as a language or the DSL we use to describe packages (Nix does something similar because without patching functional package management wouldn't quite work).