❌ About FreshRSS

Normal view

There are new articles available, click to refresh the page.
Before yesterdayAda: When the software HAS to work

Ada Tech stack

I am trying to learn Ada. I am not into Embedded domain. Mostly Java(Springboot/Mysql etc and now Golang). I would like to know Ada's usage in standard enterprise areas where Java/Golang is used. After referring multiple videos and Reddit posts, i know Ada's usage may not be as high as java/golang, but would like to know what typical tech stack is used for Ada?

submitted by /u/lispLaiBhari
[link] [comments]

Trouble running Ada on VSCode M1 Mac

Hello everyone, I hope you are having a happy holiday.

The thing is, I have a problem understanding why I can't run Ada on VSCode, don't know if it's a compiler problem or something.

I have the gcc compiler that I downloaded for Objective-C and C++ in the past, this is what the terminal throw when I run --version

Apple clang version 15.0.0 (clang-1500. Target: arm64-apple-darwin23.1.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

Next, I followed the instruction of the GitHub page of Getting Started with Ada, but the follow errors are shown:

can't find a toolchain for the following configuration: language 'Ada', target 'aarch64-darwin', default runtime 

shown on .gpr

No project found in root directory. Please create a project file and add it to the configuration. 

shown on .adb

Tried to follow the simonjwright well written readMe, but can't figure what to do.


Thank you very much!

submitted by /u/AdEnvironmental6534
[link] [comments]

Overthinking “new”: Types vs Records


When I declare a record in the heap I use:

declare type my_record is record: my_var : Integer; end record; type my_record_access_type is access my_record; record_1 : my_record_access_type; record_2 : my_record_access_type; begin record_1 := new my_record; record_1.my_var := 1; record_2 := record_1 record_2.my_var := 2; end 

So here’s what we did: - Declare a record with one variable, my_var of type integer. - Declare an access type that will point to the type, my_record. In my brain this is like saying “Declare an array filled with integers” except here we’re saying “declare an access type that is filled with the necessary information to access my_record(s)” - Declare two instances of this access type - Begin - Instantiate the first record we declared. Because we use “new”, it will do it on the heap. - set the variable in the record to 1; - make a reference of record_1 and save it in record_2. Since record_1 is an access type, record_2 is only a second name (alias) for record 1. - change the value of the variable in the record (the one and only record with two names) from 1 to 2. - end

Is that correct?

Secondly, I see multiple ways to make new types:

package types is type distance1 is new Float; type distance2 is range 0..100; — No new because range? type distance is Integer; — why no new here? end types 

Clearly the type creation “new” is different than the object creation new. However, the nuance of when to use “new” in type creation eludes me.

Would someone please provide some guidance?

I’m familiar and comfortable with C++ if using an analogy is helpful and appropriate.

submitted by /u/Exosvs
[link] [comments]

AEiC 2024 - Ada-Europe conference - grants for Open Access publication

Season's greetings from the organizers of the 28th Ada-Europe International Conference on Reliable Software Technologies (AEiC 2024), to be held 11-14 June 2024, in Barcelona, Spain!

Accepted Journal Track papers will be published in the conference's Special Issue of the Journal of Systems Architecture (JSA). Note that the Ada-Europe organization will waive the Open Access fees for the first four accepted papers, which do not already enjoy OA from other agreements with the Publisher.


#AEiC2024 #AdaEurope #AdaProgramming

submitted by /u/Dirk042
[link] [comments]

Record size from a lib differs from one executable to another


I'm facing a problem that leaves me extremely perplexed (I can hardly believe what I'm seeing). I have a library that defines a record. This record will be used to instantiate a shared memory between different executables.

The first executable calls a function in this library which will create the shared memory. The other executables will communicate through it. Except that it doesn't work. After hours of debugging, I noticed that the size of my structure (aspect 'Size) is different between the first executable and the others: it's 4 times smaller!

Everything was recompiled and tested multiple times to make sure this was the case. In every executables, 'Size and 'Object_Size are the same. Printing the size of the record in the package initialization returns the correct value, the one used by every executables except the first one.

I think this will leave you really perplex too. Have you ever encounter a similar issue?

I believe there is a way to ask the gnat compiler (or gprbuild) for a file that gives the size given for each types, right? Which flag is it?

Thanks for your help.

submitted by /u/louis_etn
[link] [comments]

🏆 Top Ada open source projects and contributors

Hello everyone,

I'd like to introduce you some interesting lists and rankings related to the Ada open source ecosystem:

- Top Contributors (global or by country): https://opensource-heroes.com/contributors?language=ada
- Awesome projects: https://opensource-heroes.com/awesome/ada (we plan to add soon a new feature to allow everyone to contribute to that list directly from the site)
- Country stats: https://opensource-heroes.com/ada

You can also find "stars" history in the detail page of some repos (it will be available soon for all Ada repos, we're still processing some data!) and embed this chart in your project's README or docs.

Hope you find this content useful! Any feedback is really appreciated. Please note that be are still in beta 🙏 We want to build a platform that allows everybody to easily explore the open source world! And if you are interested in other languages too, you should check out this page: https://opensource-heroes.com/languages


submitted by /u/markets86
[link] [comments]

How a newbie can land job with ada?

I recently drawn towards aerospace and military tech, and got to know about this language and I actually like this language and plan to go deep with it but want to make career with it.

Is it possible for a average dev to do something feasible with this language and get job in it.

Kindly mentor me if anyone is will to, I will be extremely great full to you.

Thank you in advance.

submitted by /u/AnkiBloom
[link] [comments]

Using GNATTest with Alire and GNATStudio

Hi All.
For context, I am working on a small code challenge that saw online. Essentially, is implementing an Ulam Spiral, in CLI, using different languages. I did this for fun, and to learn new things on the way.

I am currently working on the implementation of the Ada language. Coming from Java/Python/Javascript backgrounds, was challenging and fun figuring out how Ada does things. I am also using Alire for some small dependency management I need.

In any case, I want to implement some unit testing, just for completion, and quick verification for other parts that may be wrong. I read some articles online, and found two things:

  1. This git repository: https://github.com/alire-project/ada_spark_workflow shows a basic library on Ada, and shows that Unit Tests can be implemented as a separate crate
  2. The documentation for AUnit (https://docs.adacore.com/live/wave/aunit/html/aunit_cb/aunit_cb.html) shows how to implement tests, suites, fixtures, etc, which seems easy enough.

However, I also came into GNATTest and how is integrated into GNATStudio (which I am using for this development). Seems that make it easier to just use it to generate the test files, while I have to provide the actual test code, asserts, etc.

I added the libadalang_tools crate as a dependency, and it compiles fine. I can even see the build binaries in a folder (location: ${project_root_folder}/alire/cache/dependencies/libadalang_tools_23.0.0_75f92679/bin). However, GNATStudio complains that the binary can not be found, which makes sense, as it is not in the PATH environment variable

Here are my questions then:

  1. Can Alire set those binaries to the path? that way, when I run `alr edit`, they will be already on the path, and all will run without any issues.
  2. If #1 is not possible, then how can I configure the path to the binaries for GNATest (and other tools if needed) in a way that is portable to others (or even a future me) who want to clone the repository and build/run the code?

As a workaround, I changed the command that is executed on the GNATtest generation window and hardcoded the path. It works, but did not feel that was the correct way.

Any help on this is very welcome. Let me know if you need other details.


submitted by /u/egamboau
[link] [comments]

Ada VS Code extension 24.0.3

🎉 We have just published new vscode extension version 24.0.3 🎁 with experimental Mac OS M1 💻 native support! Don't hesitate sharing the feedback! Does it work for you? I hope

for Target use "aarch64-darwin"; 

isn't needed any more for native compiler (despite README says this). Also Linux ARM64 native support was added in 24.0.2, which wasn't published on Marketplace (but it's available on open vsx), so you can try it with remote mode is you have ARM64 server ⌨.

24.0.2 and 24.0.3 have many other improvements. Happy coding! 🔨

submitted by /u/max_rez
[link] [comments]

Where is Ada safer than Rust?

Hi, this is my first post in /r/ada, so I hope I'm not breaking any etiquette. I've briefly dabbled in Ada many years ago (didn't try SPARK, sadly) but I'm currently mostly a Rust programmer.

Rust and Ada are the two current contenders for the title of being the "safest language" in the industry. Now, Rust has affine types and the borrow-checker, etc. Ada has constraint subtyping, SPARK, etc. so there are certainly differences. My intuition and experience with both leads me to believe that Rust and Ada don't actually have the same definition of "safe", but I can't put my finger on it.

Could someone (preferably someone with experience in both language) help me? In particular, I'd be very interested in seeing examples of specifications that can be implemented safely in Ada but not in Rust. I'm ok with any reasonable definition of safety.

submitted by /u/ImYoric
[link] [comments]

Installing GTKAda to Synology

I want to install Max! home automation SW from Dmitry to my Synology NAS. This SW uses GTK ADA and I want to be sure about some things.http://www.dmitry-kazakov.de/ada/max_home_automation.htm

My NAS is Synology DS215j with Marvel Armada CPU.

Is this the right repository to install GTKADA from?

Which platform should I use ? ARM ELF 32 bit for Linux?

How to proceed then? I never compiled from source...

submitted by /u/frikovc
[link] [comments]

AdaCV - OpenCV but Ada

Hi everyone,

Long time lurker, first time poster. After a few years in Python and short, unhappy tread through the chaos of C++, I'm learning Ada, while I'm still new to the language, I have a project idea. I want to make sure I don't reinvent the wheel and that I engage with anyone else who is interested.

Are you familiar with OpenCV? If not, it’s a very good computer vision library in C++ and Python.

Well I have a several years experience with it in both C++ and Python (and the science/math directly). My interpretation is that, while the basics can be easy to use, the more complicated functions (Stereo Calibration, triangulation, really anything with photogrammetry) are nuanced and somewhat unforgiving. A lot of it is driven by poor examples and the poor documentation on what you're actually getting. For example, it doesnt talk about what units is a particular return value is in? Distance units or a some normalized unit? What's expected as the input? A vector of vectors of a custom cv::Point2f two dimension float type. Stack overflow is filled with questions where people don’t get much help and their answers are met more with theory photogrammetry and I never see actual usage help or answers. It's just like the documentation: theory heavy, usage thin, typing vague. A more… user friendly library with thorough usage documentation would be very popular if it was genuinely easy to use.

I’m sure you see where this is going but please let me finish:

Ada is the language of reliability and safety. Look at the popular and booming Tech industries, two relevant highlights are Autonomous Vehicles and Augmented Reality. Both use imaging processing and photogrammetric techniques. If an ADA based package or library that was easily usable and accurate, while having the reliability and safety of ADA, it could bring a lot of new people, companies, and industries to the language.

So anyways, the idea is AdaCV. A potentially slimmer but more easily usable and user friendly OpenCV in Ada.

Anyone working on that? Anyone finished it? Thoughts? Objections?

submitted by /u/Exosvs
[link] [comments]

December 2023 What Are You Working On?

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

submitted by /u/marc-kd
[link] [comments]