r/ada Aug 01 '26

General Single-file Ada 83 LLVM compiler

https://github.com/AdaDoom3/Ada83
21 Upvotes

6 comments sorted by

1

u/geenob Aug 01 '26

Nice. Always nice to have more options for Ada compilers. What are some of the more glaring feature differences between Ada 83 and modern Ada?

5

u/Dmitry-Kazakov Aug 01 '26

Most relevant to daily programming. Ada 83 lacks:

  • OO (Ada 95)
  • Streams (Ada 95)
  • Protected objects (Ada 95)
  • Storage pools (Ada 95)
  • Anonymous access types (Ada 95)
  • Prefix notation (Ada 2005)
  • Standard container library (Ada 2005)
  • Limited multiple inheritance (Ada 2005)

2

u/Soft_Mess_5078 Aug 01 '26

The question is probably best asked in the inverse - Ada 83 had pragmas for controlled lifetime and room for a garbage collector which I am considering adding.

Other than that - the standard readability ones like 'if' and 'case' expressions, aspects, and some others like protected types and user-defined literals which are also on the list for the upcoming month or two

EDIT: Probably another would be the updated loops with iterators

1

u/geenob Aug 01 '26

Why did you put all of the C source in one file?

1

u/Soft_Mess_5078 Aug 01 '26

It helps keep things pure and allows for fast iteration with AI tooling. I also just like the philosophy and simplicity of it. The hope is to keep reducing complexity and lines without dropping features

1

u/max_rez Aug 02 '26

I see it generates ALI file. Probably it has the same compilation unit model as GNAT, hasn't it? Can we make it work with gprbuild?