Compilers other than GNAT?

It would be nice to test some of my code on another compiler, just to make sure I haven’t gotten too attached to implementation quirks.

What other Ada compilers are available? How much do they cost? Am I gonna have to talk to a human to get it?

Green Hills has an Ada 95 compiler. PTC has an Ada 2012 compiler (ObjectAda, was originally from Atego/Aonix/TSP/Alsys) and an Ada 2005 compiler (ApexAda, was originally from IBM/Rational). Irvine Compiler Corp (ICC) might still have an Ada 95 compiler available. I don’t know that any of them are available for online purchase, but ObjectAda is perhaps the most likely: Ada Development Tools for Windows, Linux or UNIX Systems | PTC

There are a few other “hobbyist” Ada compilers under development out there, though none of them are very complete at this point, but might appreciate help in testing and help in developing further. One attempt I am involved with is based on the ParaSail technology, and an early version is available at: parasail_release_9_3.zip - Google Drive

7 Likes

Isn’t ParaSail another language ?

If you’re after another complete free compiler, there aren’t any, GNAT is the only one.

I take offence to the whole “hobbyist” angle. I came from the Spectrum where people were making millions off games they wrote in their bedrooms. They weren’t considered hobbyists and neither should anyone else.

Supposedly, if you contact the ObjectAda folks they’ve allowed open source projects to use their compiler for free for open source work.

1 Like

I take offence to the whole “hobbyist” angle.

As someone so far silently working on a compiler, I don’t think he meant, and I don’t take offense at all. Have you ever printed the AARM and seen how huge that thing is? https://ada-lang.io started because I needed a better way to read it and all of the cross-references, which is why I wrote the MDX formatter.

2 Likes

If you’ve got a Windows 98 VM, a number of Ada 95 textbooks came with a non-commercial copy of ObjectAda on a CD-ROM.

I’m aware of that. but that’s not what I said is it?

What has the size of the AARM got to do with people calling others “hobbyists?”

It’s a physical representation of how non-trivial it is to implement an Ada compiler. Given how heavily programmers rely on the Ada compiler to help enforce correctness, any moderately incomplete compiler is unsuitable for professional development, especially for safety critical programs for which Ada is often used and certified. Even though the Ada coin says “in strong typing we trust”, that’s actually wrong in some ways, and more accurately it should say, “in our compiler(s) we trust.”

I am a little confused why take offense to the “hobbyist” term, there’s really no need. We can all enjoy programming! :slight_smile:

1 Like

Because it implies we’re not professionals, plus what I already said.

I’d like to keep this thread focused on the topic of alternative Ada compilers. If you’d like to discuss the definition of the word hobbyist, please take the conversation elsewhere.

2 Likes

Hi, there is Janus/Ada which is more affordable compared to the paid versions of some of the other options mentioned. It’s Windows only and I have -not- tried it myself.

http://www.rrsoftware.com/html/blog/ja-321a-rel.html

1 Like

Am I reading this right that Janus/Ada can only be ordered by phone or paper mail?

It looks that way since there doesn’t seem to be an online order form.

I guess someone should mention HAC even though it’s a limited subset.

4 Likes

There’s exceptions - there’s finalization - there’s finalization + exceptions - there’s multicore – there’s storage pools - on and on.

Off and on, I’ve been maintaining a single-core Ravenscar RTS quite like the light ones from AdaCore for 8 years now and have had occasional fun delving into the GNAT RTS. It’s really quite hairy - being written in Ada is some help, of course.

Sorry about the “hobbyist” term. It clearly can be interpreted negatively, but I meant it positively, as someone who chooses to use Ada for their own projects, even though their company pays them to program in some other language.

2 Likes

You are correct that ParaSail is a different language. However, the tools and run-time for ParaSail were designed from the start to support various different “surface” syntaxes, so there is a Java-like surface syntax (aka “Javalell”), a Python-like syntax (“Parython”), and a SPARK-like one (“Sparkel”). More recently I have been working on an Ada 202x-like surface syntax, and have been adding features to the underlying run-time to support some features that were never in ParaSail (namely exceptions and access types). The Zip file I mentioned supports all of the various surface syntaxes.

1 Like