[Nix-dev] Improving the Developer Experience in the Nix Community

Bryce L Nordgren bnordgren at gmail.com
Thu Jun 28 00:45:55 CEST 2012


Specifics aside (because they were just examples, sometimes poor ones), the
point here is that Nix can only express tightly coupled dependencies. Lack
of the ability to correctly express loosely coupled relationships causes
needless rebuilds. It really doesn't matter whether Java has achieved
perfect isolation from the host environment. The important point is that
recompiling java code merely because some change in the
environment triggered a rebuild of the JDK or JRE will not make a bit of
difference--especially if the same JDK or JRE is installed.

Likewise with Ruby, Python, etc. (the exception is for impure/native
code.)

BTW: "Loosely coupled" should be able to distinguish between Python 3 and
Python 2. Or Java 1.4 vs Java 1.5. As in "Any package claiming to be a jdk
version 1.4 will do."

And again, this is not to automatically select an implementation. It's to
check and see if the user forgot to include something vital in their system
configuration, or to offer them a choice of available implementations in an
interactive setting.

Bryce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20120627/be18a3c2/attachment.html 


More information about the nix-dev mailing list