1 |
On Fri, 5 Dec 2003 01:58:17 -0800 |
2 |
George Shapovalov <george@g.o> wrote: |
3 |
|
4 |
[BIG SNIP] |
5 |
|
6 |
> However that's not all. I have produced some basic prototyping code to |
7 |
> illustrate what could be expected. The prototype is quite crude, as I did |
8 |
> this during relatively rare breaks from writing an article (completely |
9 |
> unrelated to CS :)), but it should serve the purpose. Did I say the code |
10 |
> shoul be readable? So, even though I do not expect many people to be familiar |
11 |
> with that language I would still suggest trying to look at the code. You are |
12 |
> in for a one nice surprise ;). |
13 |
> (I am not revealing the name of language in this posting deliberately, because |
14 |
> I want people to read through arguments first). |
15 |
> |
16 |
> The code is available here: |
17 |
> http://dev.gentoo.org/~george/proto_portage-0.7.5.tar.bz2 |
18 |
> but you will probably want to read the text before that. |
19 |
|
20 |
It is an interesting idea to implement this in Ada and I only see benefits in doing so, |
21 |
especially since I'm no big fan of prolog myself. The problem at the moment however is that |
22 |
GNAT-3.15p has only been ported to x86 and ppc in portage so far. I have a few problems with |
23 |
porting to other architectures, the main one being having access to them and another big issue |
24 |
is that threading is only implemented on a few architectures and so far only supported on x86 in |
25 |
our portage version. Since you need an already working copy of GNAT to port it and the fact that |
26 |
GCC 2.8.1 is becoming increasingly difficult to compile due to it's age I have not been looking |
27 |
forward to the day when someone asks me to port it to another arch. |
28 |
GNAT-5.x is based on GCC 3.2 which makes it much easier to port but you still need an existing |
29 |
GNAT or cross-compiling GNAT for the arch and we still have the same issues with threading. |
30 |
There was talk about reimplementing threading under Linux using nptl now that it has become |
31 |
more widely acknowledged (GNAT requires a more advanced threading model than the standard Linux |
32 |
threading model can provide it with). So far I have not seen anyone attempt to do this though |
33 |
and it seems ACT (the company developing GNAT) are the only ones doing active work on it. ACT |
34 |
also recently took their CVS version of GNAT-5.x offline (5.x has not been publicly released |
35 |
yet) and stated that they were moving things to GCC's CVS. This is both good and bad, good |
36 |
because maybe now more people feel they can submit code, bad because the reason they haven't |
37 |
done this earlier is because the GCC team does not acknowledge the extremely high reliability |
38 |
standards ACT have which means we might see a split where you will only be able to get a |
39 |
"stable" version of GNAT by purchasing it from ACT (the commercial version of GNAT currently |
40 |
costs something like $10,000). |
41 |
|
42 |
Still, if we can overcome the portability issue of GNAT then I find this an interesting idea. |
43 |
GNAT is the only freely available Ada compiler for Linux btw. |
44 |
|
45 |
//David Holm, Ada maintainer etc |