1 |
Pieter Van den Abeele <pvdabeel@g.o> writes: |
2 |
|
3 |
> [snip: constraints] |
4 |
|
5 |
> So if you want to install kde, qt should be installed with option 'kde' |
6 |
> enabled. But similarily, a component should be able to constrain use flags of |
7 |
> another package. Or a combination of components could be constrained, |
8 |
> ... |
9 |
|
10 |
Ah okay. I did not consider the addition of such constraints. If |
11 |
optional constraints are supported (i.e. pkg1 -> qt(use whatever) OR |
12 |
something-else(not USE=xaw3d)), the problem becomes quite complex; it |
13 |
seems it will be non-deterministic polynomial time with respect to the |
14 |
number of packages in the relevant subset of the dependency graph. |
15 |
|
16 |
> Reasoning about these things is much much easier in something like prolog. But |
17 |
> the real advantage here is that prolog can be regarded as a proof engine and |
18 |
> thus is able to provide a proof why a component with a given specification is in |
19 |
> a configuration. It is important to ensure that the configuration returned is |
20 |
> correct and satisfies user constraints/requirements. So in that sense, it will |
21 |
> be 'provable'. But again, I don't see prolog as an absolute requirement; |
22 |
> everything which provides the equivalent of a Turing Machine should can be used |
23 |
> to implement what I'm doing now in Prolog. The set of features that can be |
24 |
> reused in prolog happens to be bigger than for instance C++ or anything else for |
25 |
> this problem, which speeds up development of an explicatory prototype. |
26 |
|
27 |
I see your point here. |
28 |
|
29 |
-- |
30 |
Jeremy Maitin-Shepard |
31 |
|
32 |
-- |
33 |
gentoo-portage-dev@g.o mailing list |