❌ About FreshRSS

Reading view

There are new articles available, click to refresh the page.

Ada library wishlist

I’d like to write more applications in Ada, but I often find that I need a library that doesn’t exist or isn’t well maintained. I thought it might be a good idea to share my wishlist in case anyone is looking for a project or wants to collaborate. I may have already started prototyping some of these.

  • HTTP - I don’t really like AWS and I think something simpler, like Go’s net/http for both clients and servers would be extremely useful.
  • Jinja2 - I have a couple of large Python apps that I’d like to rewrite in Ada, but the lack of a Jinja2 template parser means I’d have to rewrite my templates. I really don’t want to rewrite the templates.
  • Software defined radio - It would be really nice to prototype some wireless protocols using a HackRF. I do have some bindings written for the hardware, but am a bit out of my depth with the complex linear algebra needed to implement the filters. Some real world examples of Ada.Numerics usage would be helpful.
  • Error correction - LDPC and BCH would be nice to have on lossy radio links.
  • RP2040 PIO drivers - I’d love to get the VGA demo board fully working, especially the SD/MMC card interface using all four data lines.
  • Prometheus metrics - A simple library for pushing metrics to Prometheus or similar would be nice. There are even some good notes on client library design in their docs.
  • USB audio drivers - I could really use USB audio class support in the usb_embedded for one of my projects.

What’s on your wishlist?

10 posts - 7 participants

Read full topic

Unicode strings

With Ada 2022’s support for user defined type literals, Unicode strings should be easier to work with. I worry that everyone is going to implement their own slightly different string type and we’ll end up with a bunch of incompatible libraries in Alire.

It looks like AdaCore is building VSS (derived from Matreshka) while also maintaining XML/Ada, which has it’s own Unicode package and types.

As a community I think we should define a common interface, or risk spending the rest of our lives converting string representations.

14 posts - 9 participants

Read full topic

Get Ada Compiler and Tools to be donated to an Independent Foundation

It might be an idea to lobby to get the Ada compiler and tools to be donated to an independent non profit foundation. This might help with a wider adaptation.

Companies supporting Ada can continue to do so as support and other services. In the long run this might be more viable.

Maybe even see if there is a possibility for a government grant to sweeten the deal.

Also the foundation can get aid and grants to further develop the compiler and tooling.

Just and idea.

7 posts - 7 participants

Read full topic

We need forum topics

We need to start adding new topics to the forum. Here’s a suggestion based on other language forums:

  • Ada Programming [General Ada programming questions]
  • News and Announcements [Ada community news and forum announcements]
    • Ada in the News
    • Forum Announcements
  • Compilers [Compiler help]
    • GNAT
    • LLVM
    • Other
  • Alire and Toolchains [Toolchain help]
    * * Alire [Help with Alire project manager]
  • IDEs [Help with editors and programming environments]
    • VSCode
    • GNAT Studio
    • Other
  • Libraries and Packages [Help with Ada Libraries and packages]
  • Community [Community related questions]
    • Show and Tell
    • Polls
    • Q & A
  • Off topic [Questions unrelated to Ada development or community]
  • FAQs

2 posts - 2 participants

Read full topic

How are you using Ada, and how would you like to use Ada?

This is both a question about domain and specifics about why you’ve chosen to use Ada. You can also elaborate on where you’d like to use Ada, and what’s preventing you from doing so, such as a missing library.

e.g. I’ve been using Ada as an alternative to other low level languages for hobby command line tools. It’s easy to write bindings to C for what I need, while also providing a decent standard library. Building and running with Alire is also super easy.

32 posts - 11 participants

Read full topic

Gateway to comp.lang.ada

It would be nice to have a category in the forum synchronizing with Usenet’s comp.lang.ada.

I found it should be possible using this gateway: GitHub - sman591/discourse-nntp-bridge: Discourse plugin to keep NNTP & Discourse in sync
Unfortunately, currently not in a known deployment: Still supported? · Issue #33 · sman591/discourse-nntp-bridge · GitHub

Running a spam filter would be indispensable.

1 post - 1 participant

Read full topic

Upcoming Ada-Related Conferences and Workshops

The seventh ACM SIGAda workshop on High Integrity Language Technology (ACM SIGAda HILT 2022) is being held on October 14, 2022 in Detroit, MI in conjunction with the 2022 Automated Software Engineering conference (ASE’22), sponsored by SIGAda. This year’s HILT theme is Language and Tool Support for Rigorous Software Development.

We have 9 presentations plus two keynotes related to this theme, including presentations on SPARK containers, and adding pattern matching as a language feature to Ada. Our keynote speakers are K. Rustan M. Leino, the creator of the Dafny verifiable language and the Boogie system supporting major industrial uses of formal methods, and Niko Matsakis, one of the original members of the Rust design team, talking about a-mir-formality, a more formal model of Rust.

There is now an online option for attending the ACM SIGAda HILT’22 workshop featuring Niko Matsakis and Rustan Leino. Anyone registered for the workshop will receive a link allowing use of Zoom and/or the “Whova” app to attend the workshop remotely.

The organizers of the associated conference (ASE’22) have indicated that remote attendees may register at the lowest attendee price (“Student Member”). So if you or a colleague might be interested in participating in the workshop remotely, please register soon for the October 14th workshop, at:

and indicate “Student Member” as your category of attendee.

For more information see:

#formalmethods #softwareengineering #ada #rust #spark #dafny #ACM #ASE

1 post - 1 participant

Read full topic

Spark SVD warnings

When SVD files are a subproject you get a lot of warnings when running gnatprove on the base address.

Address => NVIC_Base

‘writing to “NVIC_Periph” is assumed to have no effects on other non-volatile objects.’

Is there a good way to quieten those. Such as exclude the SVD sub project or ideally just silence that particular warning?

If I use the --no-subprojects flag then I get some .ali incorrectly formatted fatal errors.

Perhaps I should use this for faster contract generation anyway. However, I believe case statements in .gpr files prevent gnat studio from being able to edit automatically (I can always comment and uncomment the case statements as needed though)


project My_Project is

type Modes is (“Compile”, “Analyze”);
Mode : Modes := External (“MODE”, “Compile”);

case Mode is
when “Compile” =>
for Source_Dirs use (…);
when “Analyze” =>
for Source_Dirs use (“dir1”, “dir2”);
for Source_Files use (“file1.ads”, “file2.ads”, “file1.adb”, “file2.adb”);
end case;

end My_Project;

2 posts - 1 participant

Read full topic

Where are the Ada gigs these days? (worldwide)

I’m struggling to find job listings for Ada lately. In principle I’ll go anywhere in the world but I’m a bit tired of the US and Europe.

I’m most interested in New Zealand but after searching 72 job sites, there was nothing for Ada. There were 42 other NZ job sites (incl. seek & trademe.co.nz) I did not search due to Tor hostility & I won’t touch MS LinkedIn (yes I’m fussy about ethics / human rights / civil liberties issues). IIRC Thales had some Ada jobs in NZ for the rail industry ~15 yrs ago.

Japan would also be interesting but only if it doesn’t involve an extreme 50+ hrs/wk work schedule. Brazil would interest me too.

We could really use some kind of heat map showing Ada jobs worldwide (not necessarily just vacancies), so we can at least easily know where to look. The only resource that I’ve found that can give a clue is this (possibly unmaintained) website from 2014:


4 posts - 3 participants

Read full topic

Right way to pass arrays to interface with C

I often find myself needing to do arrays of things to interface with C.

What’s the Ada way of doing this?

It seems like passing an array with An_Array'Address seems to work, but I’m not sure how the array’s bounds are stored and affect the layout of that array. This is particular importance since I’m looking at trying to store multiple arrays of potentially difference sizes allocated in memory sequentially.

struct Vec3 {
    float x, y, z;

uint32_t size = 10;
Vec3 points = new Vec3[size];
passArrayToFunc(&points[0], size);

7 posts - 5 participants

Read full topic