Gentoo Archives: gentoo-portage-dev

From: Paul de Vrieze <pauldv@g.o>
To: gentoo-portage-dev@g.o
Subject: Re: [gentoo-portage-dev] portage-ng concurse entry Was: Updated Portage project page
Date: Fri, 05 Dec 2003 06:26:55
Message-Id: 200312051326.47191.pauldv@gentoo.org
In Reply to: [gentoo-portage-dev] portage-ng concurse entry Was: Updated Portage project page by George Shapovalov
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

Replies