I do not know the exact rationale of the Alire devs, but Ada already uses (since 83) the word "package" to indicate a module or namespace, so calling dependencies a "crate" seems to avoid confusion with an Ada…
This website is just a community effort to modernize parts of the online resources, because many parts like the current Ada Reference Manual look like they're from the 90s.
Title page with legal info has been added!
The text at the bottom says "unless otherwise noted". The .md files for the AARM are autogenerated and it seems the legal + foreword pages are missing. These indeed need to be added. The announcement was done by an…
Arrays in Ada start at the index based on the index type of the array. You can even use an enumeration type as the index: type Day is (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); type Hours is array…
I had a similar problem last month where I needed to compute some results on multiple datasets (with a little bit of concurrency per dataset). In the end I just ported the code to Ada which makes it very easy to create…
In Ada you can do something similar: delay 0.3; Or with package Ada.Real_Time: delay To_Duration (Milliseconds (300)); Or use `delay until`: delay until Clock + Milliseconds (300); `delay until` is useful in loops…
You can use git pull with the --allow-unrelated-histories option.
Sorry, but I disagree. Maybe in the 80s when developers were all yelling while coding :p Does this look like cobol to you? type GUID_String is new String (1 .. 32) with Dynamic_Predicate => (for all C of GUID_String =>…
If you want to avoid vulnerabilities and have fun with proving that your code is functionally correct, try the Ada/SPARK interactive tutorials at [1] :) [1] https://learn.adacore.com/courses/intro-to-spark/chapters/01...
I've been using ReScript for a few months now. So far I mostly like it, but it takes some time to get used to it. The error messages can be confusing though so I try not to depend too much on type inference. The other…
I'm writing a game engine [1], including a replacement for GLFW/SDL with support for gamepad rumble/motion/battery/LED (only for Wayland/Linux atm) [1] https://github.com/onox/orka
You can just do `apt install gnat` or `pacman -S gcc-ada` for free :)
Recently I've used ReScript + esbuild for a completely webpack-free experience with just a small node_modules folder
https://web.dev/content-visibility/ has a nice blog post about "content-visibility" and "contain".
> Are you allowed to drive around in self built vehicles in Europe? Or did they convince all countries they cross to give them a special permit? The car has been inspected by the RDW (Dutch vehicle authority) [1] and…
It seems you can already write kernel modules in Ada: https://github.com/alkhimey/Ada_Kernel_Module_Framework. Obviously it comes with a boatload of restrictions [1], so no tasking, RAII, exception propagation, or…
> * Ada has pointer arithmetic, you can overflow buffers or read out of bounds. Not true. Arrays have bounds and those are checked. However, you can do arithmetic with the type ptrdiff_t of the package…
To anyone who has a Linux distro and wants to try Ada (2012 on some): Debian/Ubuntu: sudo apt install gnat gprbuild Arch Linux: sudo pacman -S gcc-ada (get gprbuild from the AUR) NixOS:…
SPARK2014 is just a tool (gnatprove), which you don't distribute to others (would be rather pointless). Compiling can be done with gnat from your Linux distro, which usually has the Runtime Library Exception.
The C interoperability of Ada is very good, you can import/export functions and specify whether records (structs) and arrays must have a C convention. I use it often to access libc and Linux kernel functions/syscalls…
Couldn't you add the Bit_Order and Scalar_Storage_Order attributes (or aspects in Ada 2012) to your records/arrays? Or did Scalar_Storage_Order not exist at the time?
C libraries/applications like these, which have many memory and logic bugs, should be written in SPARK. It can fully prove that your code is correct. The latest version of the SPARK tools can also handle ownership of…
What are good reasons to choose Go? If I need a language for non-scripting tasks, I would choose Ada, which is very easy to read, has a nice type system and generics, performance, and you could statically compile…
Ada's type system allows you to separate the high-level specification of a type (which models a problem) and its low-level representation (size, alignment, bit/byte order, etc.). The language also requires explicit…
I do not know the exact rationale of the Alire devs, but Ada already uses (since 83) the word "package" to indicate a module or namespace, so calling dependencies a "crate" seems to avoid confusion with an Ada…
This website is just a community effort to modernize parts of the online resources, because many parts like the current Ada Reference Manual look like they're from the 90s.
Title page with legal info has been added!
The text at the bottom says "unless otherwise noted". The .md files for the AARM are autogenerated and it seems the legal + foreword pages are missing. These indeed need to be added. The announcement was done by an…
Arrays in Ada start at the index based on the index type of the array. You can even use an enumeration type as the index: type Day is (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); type Hours is array…
I had a similar problem last month where I needed to compute some results on multiple datasets (with a little bit of concurrency per dataset). In the end I just ported the code to Ada which makes it very easy to create…
In Ada you can do something similar: delay 0.3; Or with package Ada.Real_Time: delay To_Duration (Milliseconds (300)); Or use `delay until`: delay until Clock + Milliseconds (300); `delay until` is useful in loops…
You can use git pull with the --allow-unrelated-histories option.
Sorry, but I disagree. Maybe in the 80s when developers were all yelling while coding :p Does this look like cobol to you? type GUID_String is new String (1 .. 32) with Dynamic_Predicate => (for all C of GUID_String =>…
If you want to avoid vulnerabilities and have fun with proving that your code is functionally correct, try the Ada/SPARK interactive tutorials at [1] :) [1] https://learn.adacore.com/courses/intro-to-spark/chapters/01...
I've been using ReScript for a few months now. So far I mostly like it, but it takes some time to get used to it. The error messages can be confusing though so I try not to depend too much on type inference. The other…
I'm writing a game engine [1], including a replacement for GLFW/SDL with support for gamepad rumble/motion/battery/LED (only for Wayland/Linux atm) [1] https://github.com/onox/orka
You can just do `apt install gnat` or `pacman -S gcc-ada` for free :)
Recently I've used ReScript + esbuild for a completely webpack-free experience with just a small node_modules folder
https://web.dev/content-visibility/ has a nice blog post about "content-visibility" and "contain".
> Are you allowed to drive around in self built vehicles in Europe? Or did they convince all countries they cross to give them a special permit? The car has been inspected by the RDW (Dutch vehicle authority) [1] and…
It seems you can already write kernel modules in Ada: https://github.com/alkhimey/Ada_Kernel_Module_Framework. Obviously it comes with a boatload of restrictions [1], so no tasking, RAII, exception propagation, or…
> * Ada has pointer arithmetic, you can overflow buffers or read out of bounds. Not true. Arrays have bounds and those are checked. However, you can do arithmetic with the type ptrdiff_t of the package…
To anyone who has a Linux distro and wants to try Ada (2012 on some): Debian/Ubuntu: sudo apt install gnat gprbuild Arch Linux: sudo pacman -S gcc-ada (get gprbuild from the AUR) NixOS:…
SPARK2014 is just a tool (gnatprove), which you don't distribute to others (would be rather pointless). Compiling can be done with gnat from your Linux distro, which usually has the Runtime Library Exception.
The C interoperability of Ada is very good, you can import/export functions and specify whether records (structs) and arrays must have a C convention. I use it often to access libc and Linux kernel functions/syscalls…
Couldn't you add the Bit_Order and Scalar_Storage_Order attributes (or aspects in Ada 2012) to your records/arrays? Or did Scalar_Storage_Order not exist at the time?
C libraries/applications like these, which have many memory and logic bugs, should be written in SPARK. It can fully prove that your code is correct. The latest version of the SPARK tools can also handle ownership of…
What are good reasons to choose Go? If I need a language for non-scripting tasks, I would choose Ada, which is very easy to read, has a nice type system and generics, performance, and you could statically compile…
Ada's type system allows you to separate the high-level specification of a type (which models a problem) and its low-level representation (size, alignment, bit/byte order, etc.). The language also requires explicit…