Ada/SPARK
Modern programming language designed for large, long-lived apps where reliability and efficiency are essential.
Contents
- Math
- Science
- Algorithms, Containers and Protocols
- Cryptography
- Compression
- Patterns
- System Modeling
- Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
- Format Readers, Writers and Checkers
- Networking and Communication Middleware
- Chatting and Communication
- Web
- Graphics and Multimedia
- General Purpose Computing
- Sound
- Utilities
- Robotics
- Linux and POSIX
- Windows and .NET
- Bindings to Other Languages
- Localization
Education
Tutorials
Specialties
Community
Compilers
MIT
GPL (with linking exception)
GPL (no linking exception)
Edit
Integrated Development Editors
Editors
Deployment
Build and Package
A catalog of ready-to-use Ada libraries plus a command-line tool (alr) to obtain, compile, and incorporate them into your own projects. It aims to fulfill a similar role to Rust's cargo or OCaml's opam.
A tool for automatically creating an AppImage executable from an Alire crate.
An integrated build and source/package management tool with a more hands-on versioning approach. Alternative to alire and gprbuild. Optimized for CI/CD pipelines.
Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools).
Runtimes
OS and Kernels
Games
AdaGate is a first-person 3D sokoban puzzle game within a Stargate / Portal fantasy setting for Windows, OS-X and Linux.
RufasCube is a puzzle game for Windows, OS-X and GNU Linux (it looks like a rubic cube but it's a slider, not a twister).
AdaVenture is a kid-friendly retro point&click game with mazes, dragons, bats & snakes.
Space Invaders, Pacman, & Frogger games that run in a terminal on Windows, OS-X & Linux.
This is a soccer-themed, 3D sokoban puzzle game that runs on Windows, Mac OS-X and GNU Linux.
Frameworks
Components
A logging framework close to Java log4j framework, support for properties, serialization/deserialization framework for XML/JSON/CSV, Ada beans framework, encoding/decoding framework (Base16, Base64, SHA, HMAC-SHA), a composing stream framework (raw, files, buffers, pipes, sockets), several concurrency tools (reference counters, counters, pools, fifos, arrays), process creation and pipes, support for loading shared libraries (on Windows or Unix), HTTP client library on top of CURL or AWS.
This is a set of helpers for writing JSON-intefaces it contains JSON parses for most of the Ada runtime components.
Distributed
Graphical User Interface
Terminal User Interface
3D
Ada Database Objects is an Ada05 library that provides object relational mapping to access a database in Ada05. The library supports PostgreSQL, MySQL, SQLite as databases. Most of the concepts developped for ADO come from the Java Hibernate ORM.
Ada Web Server is a complete framework to develop Web based applications in Ada.
Ada Web Application is a framework to build a Web Application in Ada 2012. The framework provides several ready to use and extendable modules that are common to many web application. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images.
Ada support for Swagger codegen: OpenAPI Generator is a code generator that supports generation of API client libraries, server stubs and documentation automatically given an OpenAPI Spec.
Web
Code generator used to generate an Ada Web Application or database mappings from hibernate-like XML description, YAML doctrine model or UML models.
This library provides the support for a simple Expression Language close to the Java Unified Expression Language (EL).
Tools
DevOps
Verification
Generation
An open source ASN.1 generator to Ada type declarations and encoders/decoders.
AADL model processor: mappings to Ada code; Petri Nets; scheduling tools (MAST, Cheddar); WCET; REAL.
UML
Libraries
Math
Collection of mathematical, 100% portable, packages in the Ada programming language.
Mandelbrot renderer in "ASCII" (unicode actually, but text nonetheless).
Science
Algorithms, Containers and Protocols
Cryptography
This is a crypto library for Ada with a nice API and is written for the i386 and x86_64 hardware architecture.
A SPARK implementation of the Keccak family of sponge functions and related constructions.
Ada/SPARK implementation of the Ascon Authenticated Encryption with Additional Data Algorithm.
Ada/SPARK implementation of the NORX Authenticated Encryption with Additional Data Algorithm.
Compression
Patterns
System Modeling
Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
Format Readers, Writers and Checkers
The Ini file manager consists of a package, Config, which can read and modify informations from various configuration files known as "ini" files.
Experimental Ada code generation support for Google Protocol Buffers.
Ada package for producing easily and automatically PDF files, from an Ada program, with text, vector graphics, images (JPEG).
Ada Bar Codes provides a package for generating various types of bar codes (1D, or 2D like QR codes) on different output formats, such as PDF or SVG.
Networking and Communication Middleware
Chatting and Communication
Graphics and Multimedia
General Purpose Computing
Sound
Ada 2012 bindings for libcanberra, an implementation of the XDG Sound Theme and Name Specifications.
Ada binding to OpenAL which tries to mimic original API while using Ada types.
Utilities
An extensible template engine akin to jinja but using [template-parser] and intended for command line usage.
Easy to use logging facilities for output to console in Ada programs.
Command-line utility that picks a file from a folder hierarchy with probability proportional to its size.
Tool to imports CVS repository shared on Ada Conformity Assessment Authority into the Git repository.
Robotics
Linux and POSIX
Windows and .NET
Bindings to Other Languages
Hardware and Embedded
Frameworks
A lightweight development framework whose purpose is the implementation of Ada-based software systems. It supports a plethora or CPU architectures and development boards.
Drivers
Controllers
Communication
Libraries
Applications
Program that interacts with the AdaFruit BNO055 breakout board in order to send orientation data to a host computer.