Ada News Digest, May 2023
The book Ada Quality and Style made a big impression on me when I started learning Ada. It made me look at the language in a different way and highlighted its strengths. Ever since, I've recommended it to anyone learning the language. To make the book more visible, I copied it from the Wiki-book to our new beautiful website ada-lang.io. However, it turned out that the 5th chapter on the Wikibook was not fully uploaded. I had to spend some time append the missing part of the chapter. The changes have not yet been approved on the Wikibook, but the full version is already available on ada-lang.io. Additionally, I made a more detailed breakdown of the chapters to make reading more convenient.
In this release we improved Alire integration. Now you don't need the compiler to be in the
alr) when you are working with a crate, because Alire will configure it for you. Suppose you setup a crate for Rasperry Pico, if you open it in VS Code, then navigation should work out of the box. Also any Alire configuration is skipped altogether if the VSCode was launched with
alr edit or
We also change auto-detected tasks, so they are use
alr exec -- prefix to run
gnatprove in the correct environment. You can also pass extra option using
args property in the
Renaming tool leaves found renaming problems in the diagnostics, so you can examine them in the "Problems view".
You can install newer version from the marketplace, OpenVSX or download it from GitHub release.
In this release:
If there are
gprbuild and GNAT compiler in the
alire.toml in the root of workspace folder, then the extension will use Alire to configure the Ada Language Server, so navigation, tooltips, code refactoring should work out of the box without any manual configuration of the project file and scenario variables. The
Ada: Reload project command calls Alire again to update setting after possible changes in crates.
But tasks like "ada: Build current project", "ada: Check current file", etc. don't take alire into account for now. To be fixed... It's possible to create a new shell task to launch
alr build or
alr exec gprbuild instead.
Replaces a type in the intire project by another type provided by the user.
Sorts all with and use clauses and their associated pragmas.
See the complete list of available refactoring tools.
Don't hesitate to report any issues on GitHub.
I released the Jupyter Notebook Ada Kernel as a static linked Linux x86_64 executable and published a simple VS Code extension to simplify its installation. VS Code has a native support of Jupyter Notebooks, so everything should work smoothly.
(Jupyter Notebooks are documents of Markdown and code cells. Code cells could be executed and provide result into the document. Good for experiments and teaching.)
The extension is available on the marketplace.
PS Happy New Year
We have released AdaWebPack 22.1.0.
AdaWebPack includes GNAT-LLVM compiler for WebAssembly target, customized GNAT Run Time Library and some bindings for Web API.
The release includes binaries for Linux (both Ubuntu 18.04+ with LLVM 14 as a dependency and Fedora 36 RPM) and Linux (MSYS2 package with LLVM 14 dependency, you still can download LLVM 14 from MSYS2 repository even that MSYS2 provides LLVM15 already).
Simon Wright on gitter:
If you’re running on macOS, don’t let the machine upgrade to Xcode/Command Line Tools version 14! -- breaks exception handling. If it’s too late, you can get the previous version from here - free Apple developer account required.
GitHub action announcement:
Default Xcode on macOS 12 Monterey will be set to Xcode 14.0.1 on September, 26
What can we do?