The state of tooling

No.
We need a non AdaCore full implementation.

We (the language and the community) don’t need to be, nor want to be, dependent on the corporation — especially because the corporate governance could pivot and, along with new CS grads, start saying “we need to be more like Python and Rust!”… and the guy in the back, piping up: “…and APL!”

A non-AdaCore freely-available implementation would put the brakes on that train.

2 Likes

I have some experience with this (see GCC 10 in NetBSD, props mainly to JMarino) and I also manage to probably create the only GNAT compiler capable of running on NetBSD PowerPC, but I deleted all that. It took me waaaay to much time and it was not worth it (I had fun and that was the objective).


Hi and welcome @i-am-linja! If you are interested in bootstrapping Ada, take a look at GNAT-Bootstrap-Compiler: Language and platform choice for a GNAT bootstrap compiler and Anyone interested in resurrecting an open source strict Ada 83 (mil-std 1815A) compiler? Sadly, the only libre Ada compiler is circular… Yes, there is an Ada 83 interpreter written in C that is open, but it cannot compile the first version of GNAT, so we need to create one from scratch… And even if Ada is an ISO standard, GNAT does have some functionality that extends it and would most likely need to be supported :confused:

1 Like

Out of curiosity, suppose someone else were to put together a new compiler for the Ada language.

  • As I understand it, it can’t really call itself and Ada compiler until it passes the ACATS. Is that correct? I realize USDoD no longer holds a trademark on it, but I was under the impression that this was at least a moral imperative.
  • Does ACATS validation require an independent verification, or can the compiler writer run the test suite and publish the results?
  • If it requires an independent verification, I assume this costs :moneybag: :money_with_wings:?
1 Like

Honestly, I disagree on principles with this. A language doesn’t need to be “simple”. Ada is general-purpose, aiming at doing everything. It can not reasonably be “simple” nor should it, if it means loosing features just because it is simpler to write a compiler for a simple language. This complexity shouldn’t concern the user. It is the role of the compiler and associated tools to do the heavy lifting for us. The richer semantics, the more information can be used to optimized and do more non-creative work in our stead, and efficiently so. I rather think all static analysis tools should be packaged in the compiler by default, so that we could relax the strictness of some rules.

1 Like

That is ADDING a feature which is sorely needed so people don’t have to keep writing the same generation crap time after time after time.

You’re mixing up two separate issues which I clearly explained.

The compiler writer/porter would certainly find the ACATS useful. I’ve got a GNAT-specific version including scripts derived from the GCC testsuite (currently up to speed with 4.2A).
There’s also ACATS-grading to make running ACATS easier (my Unix version is here).

2 Likes

I can’t abide by evil. I am certainly glad of the work that AdaCore do at significant expense.

They get paid well for it.

Partially wrong, of course. There are plenty of libraries and tools that AdaCore has made that do not bring in any money, or very little. Ada Web Server is on obvious example that comes to mind.