1 |
On Friday 05 December 2003 10:58, George Shapovalov wrote: |
2 |
> Sorry for the crosspost, but it looks like this topic is approximately |
3 |
> equivalently active on either lis, and I did not find the "submission |
4 |
> instructions" perhaps because its not yet time for design submits :).. |
5 |
|
6 |
Some words about your page, |
7 |
|
8 |
Prolog != AI |
9 |
AI != undeterministic |
10 |
actually most AI research is into the area of deterministic approaches. Most |
11 |
undeterministic behaviour which is not in games (where you want |
12 |
undeterministic behaviour) can be found into trying to trying to get a low |
13 |
complexity for problems that have natural big complexity. In this way |
14 |
undeterministic means that in some cases the tricks don't work and you get |
15 |
the big complexity (hell even caching is undeterministic in the same way). |
16 |
|
17 |
prolog is very good at graph traversal tasks (which is what AI in many cases |
18 |
involves and why in AI prolog is used a lot) as the mode of operation is |
19 |
basically a depth-first backtracking search algorithm (about 10 lines of |
20 |
pseudocode). For that reason I think it is a good candidate for the new and |
21 |
improved dependency algorithm. |
22 |
|
23 |
While prolog is very good for such tasks I don't think it is suited to |
24 |
implement the core of portage. This is not because I think prolog is a |
25 |
problem, it is because I think that such languages are not suited for |
26 |
procedural dispatch, divide, etc. tasks. That is something that C is good at. |
27 |
However procedural languages are very bad at tree traversal, so I think that |
28 |
prolog is also a good option. |
29 |
|
30 |
Then about caching |
31 |
|
32 |
While you have a point with your prediction on number of packages, most of |
33 |
those packages involve leaf packages. That means that the number of |
34 |
dependencies per leaf package will probably not increase. However the amount |
35 |
of packages totally not regarded will grow. For this portage should do some |
36 |
kind of on-demand loading of packages. I see no need whatsoever to have a |
37 |
normal emerge task load in the whole tree and create a graph of that. |
38 |
|
39 |
I would like portage to remain lean and mean. I do run gentoo on a 16MB 60mhz |
40 |
pentium, and I like it. While the cache should also be a module that replaces |
41 |
a direct-tree-read module (possibly wrapping it), I think that caching should |
42 |
be possible on a configurable level. Not just dumbly load in all ebuilds. |
43 |
|
44 |
Paul |
45 |
|
46 |
-- |
47 |
Paul de Vrieze |
48 |
Gentoo Developer |
49 |
Mail: pauldv@g.o |
50 |
Homepage: http://www.devrieze.net |