mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-12-02 10:26:16 +02:00
48 lines
1.8 KiB
XML
48 lines
1.8 KiB
XML
<appendix>
|
|
<title>Bugs / To-Do</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>
|
|
Unify the concepts of successors and substitutes into a
|
|
general notion of <emphasis>equivalent expressions</emphasis>.
|
|
Expressions are equivalent if they have the same target paths
|
|
with the same identifiers. However, even though they are
|
|
functionally equivalent, they may differ stronly with respect
|
|
to their <emphasis>performance characteristics</emphasis>.
|
|
For example, realising a closure expression is more efficient
|
|
that realising the derivation expression from which it was
|
|
produced. On the other hand, distributing sources may be more
|
|
efficient (storage- or bandwidth-wise) than distributing
|
|
binaries. So we need to be able to attach weigths or
|
|
priorities or performance annotations to expressions; Nix can
|
|
then choose the most efficient expression dependent on the
|
|
context.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<emphasis>Build management.</emphasis> In principle it is already
|
|
possible to do build management using Nix (by writing builders that
|
|
perform appropriate build steps), but the Nix expression language is
|
|
not yet powerful enough to make this pleasant (?). The language should
|
|
be extended with features from the <ulink
|
|
url='http://www.cs.uu.nl/~eelco/maak/'>Maak build manager</ulink>.
|
|
Another interesting idea is to write a <command>make</command>
|
|
implementation that uses Nix as a back-end to support <ulink
|
|
url='http://www.research.att.com/~bs/bs_faq.html#legacy'>legacy</ulink>
|
|
build files.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</appendix>
|
|
|
|
<!--
|
|
local variables:
|
|
sgml-parent-document: ("book.xml" "appendix")
|
|
end:
|
|
-->
|