❌ About FreshRSS

Normal view

There are new articles available, click to refresh the page.
Yesterday β€” 8 December 2023News from the Ada programming language world

SweetAda on POWER8

By: SweetAda
8 December 2023 at 12:17

SweetAda (https://www.sweetada.org) got another step of functionality in the high-side of computing and successfully boots on an (QEMUβ„’-emulated) PowerPC 64-bit POWER8 (R) platform.

The support is minimal, but it is able to startup from CPU reset and can do output on a terminal console.

Standby for future improvements.

1 post - 1 participant

Read full topic

Before yesterdayNews from the Ada programming language world

Lightweight Parallelism library based on Ada 2022 features

By: sttaft
4 November 2023 at 13:46

A full implementation of the parallel features of Ada 2022 is yet to be released. In the meantime, here is a light-weight-threading library that provides essentially all of the parallel features of Ada 2022, using various generics, etc. Scheduling is provided using a plug-in architecture. If no scheduler is plugged in, the light-weight threads are simply executed sequentially. If a light-weight-thread scheduler is plugged in, then the light-weight threads spawned by instances of the various generic packages are managed by that scheduler.

There are currently two LWT scheduler plug-ins:

  • a wrapper for the GNU implementation of OpenMP (lwt-openmp.ads)
  • a work-stealing based plug-in, written entirely in Ada (lwt-work_stealing.ads)

Below is a link to the β€œreadme.md” documentation for the GitHub lwt library. It is currently part of the ParaSail GitHub repository, but the files in β€œlwt” are actually independent of ParaSail. ParaSail has its own work-stealing-based scheduler built-in, but at some point we plan to shift over to using the β€œlwt” library. But at the moment, there is no dependence either way between the ParaSail interpreter/compiler and the lwt library.

Feel free to open GitHub Issues if you find problems with the implementation, or have suggestions for improvements.


-Tucker Taft

The ParaSail GitHub repository was created by my colleague Olivier Henley, and he has also helped to improve the documentation and testing scripts. Much appreciated!

2 posts - 2 participants

Read full topic

Gnu Emacs Ada mode 8.1.0 released

27 October 2023 at 15:46

Gnu Emacs Ada mode 8.1.0 is now available in GNU ELPA.

wisi-incremental-parse-enable is now t by default; incremental parse
is always better than partial parse, except in really huge files.

The Ada grammar used by ada-mode is now compatible with tree-sitter; a
tree-sitter grammar source file is produced by the generate step.

ada-mode is tested with gnat 13 (current compiler in Alire).

gpr-query and gpr-mode are separate GNU ELPA packages. You must
install them separately (Emacs install-package doesn’t support
β€œrecommended packages” like Debian does).

The required Ada code requires a manual compile step, after the normal
list-packages installation:

cd ~/.emacs.d/elpa/ada-mode-*

If you have Alire installed, these scripts use it.

1 post - 1 participant

Read full topic

Ada BFD 1.3.0 release

By: stcarrez
20 August 2023 at 14:45

Ada BFD is an Ada binding for the GNU Binutils BFD library. The new version provides an Alire crate and fixes compilation issues with recent GNU binutils. You’ll also find some (very basic) notes to setup, use the library by loading a program symbol table and finding the nearest source line associated to some program address.

1 post - 1 participant

Read full topic

Announcing Ada binding to the wolfSSL library

3 August 2023 at 20:57

On the WolfSSL blog I saw the following announcement today:

Today we are happy to announce the availability of an Ada/SPARK binding that enables Ada applications to use post-quantum TLS 1.3 encryption through the wolfSSL embedded SSL/TLS library.

It opens the door to obtaining FIPS 140-3 and DO-178C certifications for Ada and Spark applications that use TLS for their encrypted communications and also makes them quantum-safe.

Check out the Ada/SPARK binding on GitHub here: https://github.com/wolfSSL/wolfssl/tree/master/wrapper/Ada

The Ada port is suitable for anything from IoT, embedded systems to Desktop and Cloud systems.

Contact us at [email protected], or call us at +1 425 245 8247 with any questions, comments, or suggestions.

URL to blog post:

1 post - 1 participant

Read full topic

Cashe: A Money library for Ada

By: AJ-Ianozi
23 July 2023 at 23:11

Introducing Cashe: a Money library written in Ada!

There’s quite a bit of examples in the readme, but I also gave full code examples for almost all of the functions in the API Documentation.

The purpose of Cashe is to give Money its own high-precision datatype taking advantage of Ada’s fixed type decimal system. This allows storing money, associated with a currency, at a defined precision with the choice of utilizing fuzzy or exact equality (see readme for more details).

It supports Ada-ISO Currencies as well as Custom-defined currencies, and even a working Currency Exchange.

While this is technically in pre-release, it’s passing all of my unit tests and I’m working on getting the version 1.0 out and into Alire soon.

1 post - 1 participant

Read full topic

HAC version 0.26

8 July 2023 at 06:29

Main URL: https://hacadacompiler.sourceforge.io/
Sources, site #1: HAC Ada Compiler download | SourceForge.net
Sources, site #2: GitHub - zertovitch/hac: HAC Ada Compiler - a small, quick Ada compiler fully in Ada
Alire Crate: Alire - Hac

What’s new:

  • You can use a loop’s name for the exit statement: exit Loop_Name.
  • You can exit multiple, nested, loops, by using exit Loop_Name.
  • Ada semantics are better verified:
    • Array indexing (i)(j) (array of array) and (i,j) (multi-dimensional array) are no more treated as equivalent (this feature was a remnant of the Pascal syntax).
    • Separation between Type and Subtype declarations (anonymous types are allowed only in the few cases foreseen by the language).
    • Operators of the HAT package (+, -, &) are visible without prefix only in the scope of a use HAT; clause.

Note that correct Ada programs, in relation to the above points, were already accepted and parsed correctly by HAC before that change.

Finally, a bit of cosmetics in the build messages:

C:\Ada\hac\exm>..\hac -v2 -c pkg_demo.adb

*******[ HAC ]*******   HAC is free and open-source. Type "hac" for license.
       [ HAC ]          HAC Ada Compiler version 0.26, 08-Jul-2023
       [ HAC ]          Compiling main: pkg_demo.adb
       [ HAC ]          | Compiling x_pkg_demo_s.ads (specification)
       [ HAC ]           \ Compiling x_pkg_demo_s1.ads (specification)
       [ HAC ]            \ Compiling x_pkg_demo_s11.ads (specification)
       [ HAC ]            /           x_pkg_demo_s11.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s12.ads (specification)
       [ HAC ]            /           x_pkg_demo_s12.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s13.ads (specification)
       [ HAC ]            /           x_pkg_demo_s13.ads: done.
       [ HAC ]           /           x_pkg_demo_s1.ads: done.
       [ HAC ]           \ Compiling x_pkg_demo_s2.ads (specification)
       [ HAC ]            \ Compiling x_pkg_demo_s21.ads (specification)
       [ HAC ]            /           x_pkg_demo_s21.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s22.ads (specification)
       [ HAC ]            /           x_pkg_demo_s22.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s23.ads (specification)
       [ HAC ]            /           x_pkg_demo_s23.ads: done.
       [ HAC ]           /           x_pkg_demo_s2.ads: done.
       [ HAC ]           \ Compiling x_pkg_demo_s3.ads (specification)
       [ HAC ]            \ Compiling x_pkg_demo_s31.ads (specification)
       [ HAC ]            /           x_pkg_demo_s31.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s32.ads (specification)
       [ HAC ]            /           x_pkg_demo_s32.ads: done.
       [ HAC ]            \ Compiling x_pkg_demo_s33.ads (specification)
       [ HAC ]            /           x_pkg_demo_s33.ads: done.
       [ HAC ]           /           x_pkg_demo_s3.ads: done.
       [ HAC ]          |           x_pkg_demo_s.ads: done.
       [ HAC ]          | Compiling x_pkg_demo_m.ads (specification)
       [ HAC ]          |           x_pkg_demo_m.ads: done.
       [ HAC ]          | Compiling x_pkg_demo_b.ads (specification)
       [ HAC ]          |           x_pkg_demo_b.ads: done.
       [ HAC ]          Compilation of pkg_demo.adb (main) completed
       [ HAC ]          ------  Compilation of eventual with'ed unit's bodies  ------
       [ HAC ]          | Compiling x_pkg_demo_s.adb (body)
       [ HAC ]          |           x_pkg_demo_s.adb: done.
       [ HAC ]          | Compiling x_pkg_demo_s1.adb (body)

6 posts - 3 participants

Read full topic

Qplt (Quick Plot)

By: JC001
2 June 2023 at 15:52

Seen on c.l.a:

I have created Qplt (Quick Plot), an Ada-GUI program to quickly produce a plot of a data set, and make it publicly available in hopes that it might prove useful. The program automatically selects axis ranges and tick intervals. The user may select whether points, lines, or both are plotted, and supply a title and axis labels.

Qplt is available at


10 posts - 4 participants

Read full topic

LEA v.0.87

29 May 2023 at 18:17

LEA is a Lightweight Editor for Ada

Web site: http://l-e-a.sf.net/
Source repository #1: LEA / Code / [r343]
Source repository #2: GitHub - zertovitch/lea: LEA is a Lightweight Editor for Ada

Recent changes:

  • Added auto insert feature: e.g. typing ( inserts ).
  • Added color theme Solarized Light.
  • Added a β€œstealth mode” in which LEA doesn’t leave
    traces in the registry.
  • Editor adds -- if the cursor is within a comment when the Return key
    is pressed (consequence: a comment is split into two comments).
  • If the cursor is within a string literal when the Return key is
    pressed, the string literal is split into two valid string
    literals with a & between them.
  • Added unhandled exception information to message list
  • Tabs with the various file names
  • LEA doesn’t write scilexer.dll as a file; thus, it runs as
    a portable application (in the sense: you can run it from a
    read-only drive directly, without installation)
  • Added a Build & Run button (for the HAC compiler).


  • multi-document
  • multiple undo’s & redo’s
  • multi-line & multi-point edit, rectangular selections
  • color themes, easy to switch
  • duplication of lines and selections
  • syntax highlighting
  • parenthesis matching
  • bookmarks

Currently available on Windows.
Gtk or other implementations are possible: the LEA_Common[.*] packages
are pure Ada, as well as HAC.


3 posts - 2 participants

Read full topic

GWindows release, 29-May-2023

29 May 2023 at 18:15

GWindows is a full Microsoft Windows Rapid Application Development
framework for programming GUIs (Graphical User Interfaces) with Ada.
GWindows works only with the GNAT development system,
but with some effort, GWindows could be made pure Ada.
GWindows is free and open-source!

Changes to the framework are detailed in gwindows/changes.txt or
in the News forum on the project site.

GWindows Project site:

GWindows GitHub clone:


1 post - 1 participant

Read full topic

Ayacc 1.4 and Aflex 1.6

By: stcarrez
14 May 2023 at 22:10

I’ve made new versions for Ayacc and Aflex with several improvements. To summarize:

  • support for reentrant scanner and parser,
  • Bison like options to tune the generated parser,
  • some code block injection (Γ  la Bison) to customize the scanner and parser…

You can use them with Alire as follows:

alr get aflex
cd aflex_1.6.0_b3c21d99
alr build
alr install
alr get ayacc
cd ayacc_1.4.0_c06f997f
alr build
alr install

For a more detailed explanation about the reentrant support, have a look at Reentrant scanner and parser with Aflex and Ayacc

9 posts - 3 participants

Read full topic

GCC 13.1 Released

26 April 2023 at 23:20


Ada specific changes:

  • Traceback support added in RTEMS for the PPC ELF and ARM architectures.
  • Support for versions older than VxWorks 7 has been removed.
  • General improvements to the contracts in the standard libraries.
  • Addition of GNAT.Binary_Search.
  • Further additions and fixes for the Ada 2022 specification.
  • The Pragma SPARK_Mode=>Auto is now accepted. Contract analysis has been further improved.
  • Documentation improvements

10 posts - 6 participants

Read full topic

Seer - a gui frontend to gdb

By: epasveer
7 April 2023 at 20:25

Hi All. Sorry if this isn’t the place to post.

I’ve written a gui frontend to gdb called Seer. It now supports some Ada language constructs (tasks, exceptions).

Please give it a try and offer any comments or suggestions.


1 post - 1 participant

Read full topic