about summary refs log tree commit diff
path: root/doc/manual/bugs.xml
blob: fcb69c3641a58355dead97c9f129f0b813f60ea2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<appendix>
  <title>Bugs / To-Do</title>

  <itemizedlist>

    <listitem>
      <para>
        Nix should automatically remove Berkeley DB logfiles.
      </para>
    </listitem>

    <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 slice is more
        efficient that realising the derivation from which that slice 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:
-->