❌ About FreshRSS

Reading view

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

Ada-based applications in Android?

Hello,
I have been struggling to make my Ada program run on Android (through a Java native interface), with so far no results. As I understand it, the generic Linux GCC compiler will not make the job, because even if it targets the right architecture (arm64), the compiler toolchain needs to be built using Android “binutils”. Is it like that (or even more complex than that)?
In any case, frustrated by the fact that my SAL generated with gprbuild and GCC will refuse to work (at least with the FSF compiler), I posted my issue on Stack Overflow, and somebody threw the idea of using LLVM instead. So I was wondering if the Gnat LLVM project could help me here.
I started reading about LLVM, and I find it a bit hard to grasp. My current understanding is that I could use it to compile Ada into IR code, that would be then compiled into machine code for an specific architecture, without requiring the installation of a particular cross compiler. Is that right?
Is it theoretically feasible to generate a SAL with a Java interface for Android using this toolchain? And if so, how?
Otherwise, could somebody expose the purpose and/or usages of Gnat LLVM?

Before you react, please know that my understanding of compilers is very limited…
In case you are curious about what I am doing, my project is open source, you can take a look at it here:

3 posts - 2 participants

Read full topic

[ANN] Qplt (Quick Plot)

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

Enjoy.

10 posts - 4 participants

Read full topic

[ANN] LEA v.0.87

LEA is a Lightweight Editor for Ada

Web site: http://l-e-a.sf.net/
Source repository #1: LEA / Code / [r338]
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).

Features:

  • 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.

Enjoy!

1 post - 1 participant

Read full topic

[ANN] GWindows release, 29-May-2023

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:

Enjoy!

1 post - 1 participant

Read full topic

Wikipedia articles about GNAT

Some Wikipedia articles about GNAT are terribly outdated, for instance:

Perhaps someone will be tempted to give them a brush-up…

2 posts - 2 participants

Read full topic

Buffered Streams

I’ve been working on an application using GNAT.Sockets with calls to Receive_Socket and Send_Socket. I’ve been hesitant to use the Stream interface because I want writes coalesced into reasonably large (~64k) buffers for performance reasons.

I have my own buffered stream implemention right now, but I’m wondering if others have better solutions.

6 posts - 4 participants

Read full topic

New project: Alice

After months of dedicated work, I’m thrilled to introduce my project: Alice!

Alice, Adventures for Learning and Inspiring Coding Excellence, is a collaborative Ada framework that allows programmers to enhance and share their solutions to various problem sources (e.g. Project Euler, CodinGame and Advent of Code), fostering collaboration, learning and creativity.

While it’s currently in the proof of concept stage, and only Project Euler is supported, I believe it holds immense potential.

The Alice wiki pages offer a glimpse into Alice’s concept, participation opportunities, and development ideas.

I warmly invite all members of the Ada community, as well as beginners and students exploring Ada, to read across the wiki pages and share your valuable feedback. Your insights and input will be instrumental in shaping Alice’s future. Together, let’s unlock the possibilities and make a significant impact.

Stay tuned for the upcoming public release, as we embark on this exciting journey together!

3 posts - 2 participants

Read full topic

[ANN] Ayacc 1.4 and Aflex 1.6

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

Ada Monthly Meeting

Dear all,

this forum post was already written to the C.L.A, but I think it is worthy of being here too, as it may reach even more people. So here goes a summary of what I wrote over at the C.L.A.

What and Why? Ada monthly meetup

I would like to have a monthly meetup to gather the community, see each other, talk about some things and let people present or showcase their work and discuss the news.

When and how?

It would take place once a month and it should last between 45 min to 1 h. This would allow the discussion or showcase of two or three topics and leave room for discussion and smaller news.

The meetup would take place (initially) over Jitsi, a libre conferencing software that does not require installation (it uses modern web browsers for the clients). This would be the initial platform to test the waters and see if it works well for us.

I have selected Saturday 3, June 2023 to be the day we start. It would take place the first weekend of each month with the exception of August (as it is summer in most places, maybe even September) and February, as FOSDEM takes place.

The time would be around 12:00 or 13:00 UTC. That should be a more or less approachable time for most people all over the globe. Though I am aware that it is not great for those in the Americas or in eastern Asia/Australia. It is also meal time in EU, but that is a compromise for everyone. And of course, this is just the first proposal. We will keep improving things as we move along.

How to participate?

You can join just to listen and chat! That is probably what I will end up doing most. However, there are a few things we are looking for:

  • Tool developers that would like to showcase its features or new releases.
  • Demos of projects.
  • Issues within the language or technical problems with tools.
  • Cool stuff!
  • Questions!

This is a community oriented meetup, not a super heavy technical one, we leave those to the ARG :wink:

Feedback

There has already been some feedback over at the C.L.A., but some more would surely help. If you have any questions, issues or recommendations, please, share those!

Best regards,
Fer

8 posts - 5 participants

Read full topic

AEiC 2023 - Ada-Europe conference - program info

http://www.ada-europe.org/conference2023/

The 27th Ada-Europe International Conference on Reliable Software Technologies (AEiC 2023) returns to Portugal after 5 years, to take place in Lisbon, in the week of 13-16 June.

The conference program includes two core days with various presentations, bracketed by one day with 6 tutorials, and one day with 2 satellite events. There will be time for networking during breaks as well as social events around historic, cultural, scenic, and culinary highlights of Lisbon.

For more info and latest updates see the conference web site. You’ll find there an overview of the program, the list of accepted papers and presentations, and descriptions of workshops, tutorials, keynote presentation and panel, and social events. Also check the conference site for registration, accommodation and travel information.

Online registration is open. Reduced fees for various groups. Early registration discount until 22 May.

#AEiC2023 #AdaEurope #AdaProgramming

2 posts - 1 participant

Read full topic

Running Ada in the browser

Some months ago I saw an article about a website that runs Linux and gcc in your browser thanks to WebAssembly (Linux And C In The Browser | Hackaday). I found it quite interesting as a way of providing an interactive shell for tutorials, but unluckily gnat-gcc wasn’t installed and trying to install it just resulted in an error.

However, this week I found out a similar project called jslinux which allows installing and running gnat in the browser (at least using the alpine vm):
https://bellard.org/jslinux/

It is quite slow, but I think it could have interesting use cases like interactive Ada courses without requiring the server to compile and run arbitrary untrusted software, testing alire packages before using them in a project or allowing newcomers to try Ada from ada-lang.io without installing anything.

7 posts - 5 participants

Read full topic

GCC 13.1 Released

https://gcc.gnu.org/pipermail/gcc-announce/2023/000175.html
https://gcc.gnu.org/gcc-13/changes.html

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

VSS.JSON vs GNATCOLL.JSON

Hello, I’ve got a REST API client set up for a project that currently pulls data from the API via AWS as a Stream_Element_Array, parses the JSON via VSS.JSON’s pull reader, and then serialises it in a record for fast access and caches the data to disk.

I’m wondering if anyone who has used both VSS and GNATCOLL’s json packages has any opinions about which of the two are better. I end up working with up to 400MB of JSON at a time (when condensed, ~200MB), and as it is VSS currently takes about 45 seconds to parse the full JSON. Loading the cached data is quite quick and not an issue.

Looking through the spec I’m just a bit worried whether or not GNATCOLL can handle reading hundreds of megabytes from an unbounded string, and what the consequences of trying to do that would be for my memory usage.

This isn’t on an embedded system or anything, so ~1-2GB of RAM used would be okay, but it is part of a larger application that uses Gtkada and draws a lot of images to the screen, so minimising RAM usage and maximising performance would be great.

I’m also hopeful that this project, when released, will raise awareness of how nice Gtkada is compared to a number of other GUI libraries :slight_smile:

Thanks,
“tiberius”

5 posts - 4 participants

Read full topic

Cannot properly modify memory in GNAT Studio Debug session?

Hi, I have been using GNAT Studio 23.0w on Windows 10 for the first time, though for small C programming instead of Ada. As far as I can tell that is the most recent version that is available for download despite Google searches finding docs for 24.0w.

I noticed a strange behavior in the debugger when modifying memory in the Memory window. When I type over a value (note: I tried multiple bytes and single bytes) then click the Submit Changes, the data gets committed to the wrong bytes. Not only that, but sometimes only some of the values get written. This effectively makes the memory window unusable for modifying raw memory. Has anyone else experienced this?

Thx.

3 posts - 2 participants

Read full topic

❌