Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-ada
A curated list of awesome resources related to the Ada and SPARK programming language
https://github.com/ohenley/awesome-ada
Last synced: 3 days ago
JSON representation
-
Applications
-
Mail
- trash-finder - Trash Finder is a mail filter that operates as a plugin for your mail server, providing filtering on dozens of criteria along with management of known good mail.
-
Web
-
Multimedia
-
Automation
- max-home-automation - [gtkada] application to manage ELV/eQ-3 MAX! cubes for home automation.
- ada4automation - A framework for designing industrial automation applications using the Ada language.
- acnc - A G-code parser and CNC controller (in Ada).
-
Generators and Translators
- adabrowse - HTML generator for Ada95 library unit specs.
- ada-magic - SofCheck AdaMagic is ACATS validated and certified Ada compiler targeting C and/or C++ (4 command line switches for fine tuning). ObjectAda and several other commercial compilers share engine with AdaMagic. MapuSoft distributes AdaMagic as integral component of AppCOE.
- adabrowse - HTML generator for Ada95 library unit specs.
- ada-magic - SofCheck AdaMagic is ACATS validated and certified Ada compiler targeting C and/or C++ (4 command line switches for fine tuning). ObjectAda and several other commercial compilers share engine with AdaMagic. MapuSoft distributes AdaMagic as integral component of AppCOE.
-
Shells, Interpreters and Emulators
- sparforte - SPARforte programming language is an Ada-like scripting language, previously known as business user shell (bush). Can be used as interactive UNIX shell replacement.
- gnatcoll-scripts-shell - GNATCOLL.Scripts.Shell is a simple embeddable scripting language, part of GNATCOLL Core.
-
Programming Languages
- para-sail - ParaSail is a highly parallel experimental language, similar to Go and Erlang. Originaly owned by SofCheck (now AdaCore), it is a test project to try new ideas. Expandable pointers is a sample feature that is about to be introduced to SPARK and Ada. There are in fact 4 experimental languages: ParaSail, Sparkel, Javallel, Parython, all sharing bytecode interpreter and LLVM engine.
-
Office
-
Simulation
- eagle-lander - Apollo 11 lunar lander simulator ([gtkada]/Cairo).
- ghdl - VHDL 2008/93/87 simulator.
- parallel-sim - Distributed Simulation of Transport Networks.
- covid-19-simulator - Multi engine/algorithms COVID-19 simulator. Ada, Qt code under the hood.
- mars-mpl - Mars Polar Lander (Crash) Simulator ([gtkada], [aicwl]).
- doppler-effect-sample2 - Moving airplane causes Stereo Sound Doppler effect ([gtkada]).
-
-
Bindings
-
Misc
- pcsc-ada - PCSC/Ada provides a thick Ada binding to PC/SC-middleware. The library allows programs written in Ada to communicate with smart cards using the SCard API.
- pcsc-ada - PCSC/Ada provides a thick Ada binding to PC/SC-middleware. The library allows programs written in Ada to communicate with smart cards using the SCard API.
- ada-lua - Ada binding for Lua.
-
-
Education
-
Entry Point
- learn - Interactive learning platform designed to teach the Ada and SPARK programming languages.
- ada-lang-io - A community site for Ada.
- celebrating-ada - Ada history key moments.
- ada-lang-io - A community site for Ada.
- ada-logo-editor - The “Ada horizon” logo maker website.
- ada-lang-io - A community site for Ada.
-
Tutorials
- adacore-video-tutorials - AdaCore University Video Tutorials.
- ada-crash-course - Ada 2012 crash course under 50 pages from Vermont Technical College.
- simple-games - Learning Ada 2012 by writing simple games.
- adacore-video-tutorials - AdaCore University Video Tutorials.
- spark-by-example - Collection of verified functions and data types in SPARK.
-
Online Books
- ada-wikibook - Ada Programming book at Wikibooks.
- ada-distilled - Ada Distilled for Ada 2005.
- ada-craft - Ada 95: The Craft of Object-Oriented Programming.
- ada-cpp-java - Ada for the C++ or Java Developer.
- spark-guidance - Implementation Guidance for the Adoption of SPARK.
- ada-safe-secure - Safe and Secure Software. An invitation to Ada 2012.
- ada-95-tutorial - A book going from beginner to advanced concepts in Ada 95, complete with source files.
-
Books
- Programming in Ada 2012 with a Preview of Ada 2022 (2nd ed.) - Comprehensive.
- Programming in Ada 2012 - Comprehensive.
- Beginning Ada Programming: From Novice to Professional - Introduction.
- Ada 95: The Craft of Object-Oriented Programming - General, intermediate.
- Ada Plus Data Structures: An Object Oriented Approach - Data Structures.
- Ada for Software Engineers - Idioms, Architecture.
- Concurrent and Real-Time Programming in Ada - Concurrency, Containers, Scheduling.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Building Parallel, Embedded, and Real-Time Applications with Ada - Concurrency, Distributed.
- Analysable Real-Time Systems: Programmed in Ada - Scheduling.
- Building High Integrity Applications with SPARK - Formal verification.
- Ada and SPARK on ARM Cortex-M - Embedded.
- Ada for Software Engineers - Idioms, Architecture.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Analysable Real-Time Systems: Programmed in Ada - Scheduling.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
-
Specialties
- gems - Ada Gem Archive.
- ada-ic-learning - For additional learning resources, see the AdaIC learning section.
- ada-at-rosetta-code - A collection of programming tasks and their sample solutions in Ada.
- gems - Ada Gem Archive.
- ada-composition - A collections of small nifty demos/sample code that may help better layout data or structure project.
-
Reference
- iso-standard - The 2022 revision to the Ada Standard, usually known as Ada 2022.
- adalib - Standard Ada library specification as defined in Reference Manual.
- Ada 2022 Reference Card - Reference Card / Cheatsheet of Ada Attributes, Aspects, Pragmas and Standard Library.
-
-
Community
-
Questions and Answers
- gitter-ada - Ada channel at Gitter.
- comp-lang-ada - Ada Usenet newsgroup/forum.
- stack-overflow-ada-tag - Ada at Stack Overflow.
- subreddit-ada - Ada at Reddit.
- subreddit-spark - Spark at Reddit.
- telegram-ada - Ada group at Telegram.
- libera-chat-ada - Ada channel at IRC.
- matrix-ada - Ada room at Gitter via Matrix.
- gitter-ada - Ada channel at Gitter.
-
News and Resources
- adacore-blog - An insight into the AdaCore ecosystem.
- ada-europe - Ada-Europe is an international organization, set up to promote the use of Ada.
- acm-sig-ada - The Special Interest Group on Ada.
- ada-resource-association - Since 1990 the Ada Resource Association's principal mission has been “To ensure continued success of Ada users and promote Ada use in the software industry”.
- ada-information-clearinghouse - News and resources for the Ada programming language.
- ada-planet - News Aggregator from the Ada programming language world. ([RSS feed via Matrix][ada-planet-via-matrix])
- adasearch - Custom search engines for finding anything related to the Ada and SPARK programming languages, without interference from other homonymous topics.
- ada-planet - News Aggregator from the Ada programming language world (v3) ([Ada-Planet v2 feed via Matrix][ada-planet-via-matrix]).
-
-
Compilers
-
Open source
- gnat-ce - GNAT Community edition. A release of AdaCore GNAT for free software developers, hobbyists, and students. The run-time libraries provided with GNAT Community are licensed under GPLv3 without linking exception. It supports Ada 2012 only.
- fsf-gnat - Free Software Foundation compiler for the Ada programming language which forms part of the GNU Compiler Collection. It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83.
- hac - HAC Ada Compiler - a small, quick Ada compiler fully in Ada.
- byron - Byron is a community project to build an Ada compiler, toolchain, and IDE-system.
- augusta - Ada compiler written in Scala that targets LLVM.
-
Commercial / Open source
- gnat-pro - The GNAT Pro product line offers a comprehensive toolset (IDEs, debugger, librairies, dynamic and static analysis tools) for Ada, C and C++.
-
Commercial / Closed source
- janus-ada - Compiler supporting all the major features of the Ada 83, Ada 95, Ada 2005 and Ada 2012 versions of the language.
- object-ada - PTC ObjectAda is an extensive family of native and cross development tools and runtime environments.
- apex-ada - PTC ApexAda is one of the industry's most popular development environments for Ada and mixed Ada/C/C++ applications.
- greenhills-ada - Green Hills Software offers the industry's first, fully validated family of Ada Cross Compilers for real-time targets.
- xgc - XGC provide GCC-based bare-metal toolchains with Ada95 support for aerospace-specific targets such as MIL1750, ERC32 and LEON. As well as a legacy M68000 toolchain.
-
Online
- tutorials-point-ada-compiler - Online compiler built on the CodingGround engine.
- jdoodle-ada-compiler - Online compiler that provides multiple versions of GNAT to test with.
- compiler-explorer - Run GNAT FSF compilers interactively from your web browser and interact with the assembly.
-
-
Edit
-
Integrated Development Editors
- ada-visual - Ada language integration for Visual Studio 2017.
- The GNAT Programming Studio
-
Text Modes
- gnu-emacs-ada-mode - Gnu Emacs major-mode for editing Ada sources.
- bbedit-ada-module - BBEdit support for Ada.
- vim-ada-bundle - Maintained Ada Bundle : Complete Ada-Mode for Vim/NeoVim.
- ada-tmbundle - TextMate support for Ada.
-
VSCode Extensions
- adacore-ada - Language Support for Ada. It includes [Language Server for Ada][ada-language-server].
- ada-vscode - Basic syntax highlighting for Ada and GPR.
- ada-utilities - VSCode extension Ada programmers which provides a few utility functions.
-
Editors
- lea - LEA, a Lightweight Editor for Ada, aims to provide an easy, script-world-like, "look & feel" for developing Ada projects of any size and level, while enabling access to full-scale development tools like GNAT. LEA includes HAC, the HAC Ada Compiler.
-
-
Runtimes
-
Continuous Integration
- avr-ada - GNAT for 8-bit AVR microcontrollers.
- avr-ada - GNAT for 8-bit AVR microcontrollers.
- bb-runtimes - GNAT bare metal board support package (BSP).
- ada-runtime - A downsized Ada runtime which can be adapted to different platforms.
- adawebpack - GNAT RTL for WASM and bindings for Web API.
-
-
OS and Kernels
-
Continuous Integration
- m2os - RTOS with simple tasking support for small microcontrollers.
- marte-os - MaRTE OS is a Hard Real-Time Operating System for embedded applications that follows the Minimal Real-Time POSIX.13 subset. It provides an easy to use and controlled environment to develop Multi-Thread Real-Time applications.
- muen - An x86/64 Separation Kernel for High Assurance.
- lovelace-os - Lovelace is an effort to write a Unix like operating system using the Ada 2012 language.
- ada-kalinda-os - Ada KALINDA is a sort of Mac Plus like OS written in Ada95.
- ironclad - A kernel for several architectures striving for POSIX compatibility, used on several distributions like [Gloire](https://github.com/streaksu/Gloire).
- ironclad - A kernel for several architectures striving for POSIX compatibility, used on several distributions like [Gloire](https://github.com/streaksu/Gloire).
- ewok - EwoK is a microkernel targeting micro-controllers and embedded systems.
- bare-bones - An Ada port of the [osdev.org](https://wiki.osdev.org/Ada_Bare_bones) minimal 32-bit x86 kernel.
- cxos - Ada Operating System development example.
- havk - x86-64 security-focused OS being created with SPARK.
- cubit - CuBitOS is a multi-processor, 64-bit, (partially) formally-verified, general-purpose operating system, currently for the x86-64 architecture.
- hirtos - A high-integrity RTOS written in SPARK Ada.
-
-
Games
-
Continuous Integration
- steamsky - Roguelike in sky with a steampunk setting.
- unity-ada-tetris - Tetris, in Ada, for the Unity game engine.
- pasta - Pasta! is a game of the "match-3" genre, implemented in [gnoga].
- steamsky - Roguelike in sky with a steampunk setting.
- civ-klon - Civilization-style turn-based strategy game. Requires [asfml].
- steamsky - Roguelike in sky with a steampunk setting.
- tictactoe - A tictactoe game written and proven in SPARK/Ada.
- ada-gate - AdaGate is a first-person 3D sokoban puzzle game within a Stargate / Portal fantasy setting for Windows, OS-X and Linux.
- rufas-cube - 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).
- ada-venture - AdaVenture is a kid-friendly retro point&click game with mazes, dragons, bats & snakes.
- co-terminal-apps - Retro Games that run in a terminal on any platform.
- world-cup-sokerban - This is a soccer-themed, 3D sokoban puzzle game that runs on Windows, Mac OS-X and GNU Linux.
- buttons - A simple [gtkada] Button Mania game.
- mine-detector - Mine Detector: a mine-finding game that never requires guessing.
- play-2048 - Play 2048! is a clone of the popular 2048 game, implemented in Ada using [asfml] for graphics and [ada-toml] for saving state.
- bingada - Bingo application in [gtkada].
- eepers - A simple Turn-based Game in Ada (made with [raylib](https://github.com/raysan5/raylib)).
-
-
Frameworks
-
Components
- simple-components - ASN.1, MQTT client and server/broker implementation, B-trees, Multiple connection TCP servers, Chebyshev series, Mutexes, Cryptography, Objects and handles to, Doubly-linked webs and lists, ODBC bindings, Blackboards (lock-free), OpenSSL bindings, ELV/eQ-3 MAX! client implementation, Parsers, Events (plain, pulse, array of), Persistent objects and handles to, GNUTLS bindings, Persistent storage and handles to, Graphs (directed, weighted, acyclic, trees), Pools, HTTP implementation, Sets and maps, FIFO (lock-free), SMTP client implementation, IEEE 754, SQLite bindings, Inter-process communication, Stacks, Interfacing Julia language, Streams, JSON, Strings editing, LDAP, Tables (maps of strings), MODBUS client implementation, Unbounded arrays.
- gnatcoll-core - This is the core module of the GNAT Components Collection.
- gnatcoll-bindings - This is the bindings module of the GNAT Components Collection.
- gnatcoll-db - This is the DB module of the GNAT Components Collection.
- gnatcoll-json - This is a set of helpers for writing JSON-intefaces it contains JSON parses for most of the Ada runtime components.
- gneiss - Gneiss is an interface collection to be used with applications for component based systems. It aims to be easily portable/platform independent and is compatible with the [ada-runtime].
- lace - A set of Ada components to allow 3D simulations, games and GUI's in Ada.
- asap - A set of general libraries and thick bindings for use with the AURA package management/build tool. Includes TCP, TLS, HTTP, a high-performance JSON parser/generator, and a formally verified (SPARK) UTF-8 stream decoder.
-
Graphical User Interface
- gnoga - The GNU Omnificent GUI for Ada.
- claw - CLAW, a High Level, Portable, Ada 95 Binding for Microsoft Windows.
- qt-ada - Ada-2012 port to Qt 6 framework.
- vtk-ada - Ada-2012 port to VTK 8.1 (Visualization Toolkit).
- fltk-ada - Ada-2012 binding to FLTK (Fast Light Toolkit).
- vtk-ada - Ada-2012 port to VTK 8.1 (Visualization Toolkit).
- gwindows - GNU Ada Visual Interface.
- gtkada - Ada graphical toolkit based on Gtk3 components.
- ada-gui - GUI implemented on its own task, so it doesn't require that its client give up a thread of control. Derived from [gnoga].
- adawebui - GUI based on [adawebpack].
- imgui-ada - Ada binding of the ImGui library.
-
Terminal User Interface
- ncurses-ada95 - Ada95 bindings for ncurses.
- linenoise-ada - Bindings to the Linenoise line-editing library (patched to support UTF-8).
- curses - Advanced UNIX Terminal UI Ada Binding Package.
- areadline - Ada binding to the readline library.
-
Database
- apq-base - APQ is a database interface library written in Ada95.
- ada-ado - 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-base - Thick database bindings to MySQL, PostgreSQL and SQLite for Ada.
-
Unit Test, Testing
- ahven - Ahven is a simple unit test library and framework for the Ada programming.
- aunit - Ada unit testing framework.
- gnatbdd - Behavior Driven Development in Ada.
- scripted-testing - Supports functional testing using Tcl scripts.
-
Logging
- alog - Alog is a stackable logging framework for Ada.
-
Machine Learning
- fuzzyml - Fuzzy machine learning framework.
-
Automation
- aicwl - Collection of packages provided for design of high-quality industrial control widgets for Ada applications.
- ada-for-automation - A4A is a framework for designing industrial automation applications using the Ada language.
-
Distributed
- poly-orb - PolyORB provides a uniform solution to build distributed applications relying either on middleware standards.
-
3D
- globe-3d - GL Object Based Engine for 3D.
- engine-3d - A 3D engine for DOS-talgics.
- ada-ogl - Ada OpenGL Framework.
- ada-doom-3 - Id Software's Id-tech-4-BFG in the Ada programming language.
-
Web
- aws - AWS is a complete framework to develop Web based applications in Ada.
- awa - 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.
- dynamo - Code generator used to generate an Ada Web Application or database mappings from hibernate-like XML description, YAML doctrine model or UML models.
- ada-wiki - Ada Wiki is a small library that provides a Wiki engine.
- ada-security - OAuth 2.0 client and server framework to secure web applications.
- ada-el - This library provides the support for a simple Expression Language close to the Java Unified Expression Language (EL).
- ada-asf - Ada Server Faces allows to create web applications using the same pattern as the Java Server Faces (See JSR 252, JSR 314 and JSR 344).
- ada-servlet - Ada Servlet allows to create web applications using the same pattern as the Java Servlet (See JSR 154, JSR 315).
- swagger-ada - 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.
- ews - Embedded Web Server is a web server construction kit, designed for embedded applications using the GNAT Ada compiler.
- matreshka - Matreshka is an Ada framework to develop information systems consisting of five major components: League, XML processor, Web framework, SQL access, and the Modeling framework.
-
-
Tools
-
Verification
- adacontrol - Ada constructs lint tool.
- gnat-coverage - GNATcoverage is a tool to analyze and report program coverage.
- acats - The Ada Conformity Assessment Test Suite, customised for GCC.
- acats-grading - Tools for grading ACATS results, modified for Unix-like systems.
-
Generation
- fmt - Formal Methods Toolkit is a set of extension packages for Mathematica, supporting software. engineering activities related to modeling, verification and Ada code generation.
- record-flux - RecordFlux: Toolset for the formal specification of messages and the generation of verifiable binary parsers and message generators in SPARK.
- asn1scc - ASN1SCC: An open source ASN.1 generator to Ada type declarations and encoders/decoders.
- ocarina - AADL model processor: mappings to Ada code; Petri Nets; scheduling tools (MAST, Cheddar); WCET; REAL.
- automate - Finite-state machine generator.
- ajunitgen - Generator of JUnit-compatible XML reports in Ada.
- resource-embedder - Advanced Resource Embedder to embed files in binaries by producing C, Ada or Go source files.
-
UML
-
DevOps
- septum - An interactive context-based text search tool for searching large codebases.
- powerjoular - PowerJoular allows monitoring power consumption of multiple platforms and processes.
- mat - MAT is a simple memory analysis tool intended to help understand where the memory is used in a program.
-
Encryption
- ada-keystore - Ada Keystore - protect your sensitive data with secure storage.
-
-
Libraries
-
Science
- si - SI units checked and unchecked.
- units-of-measurement - Library to manage units of measurement with dimension checking.
- si_units - Utility library to pretty print physical values in proper metric units.
-
Algorithms, Containers and Protocols
- dequesterity - Deque/buffer generics that consist of building blocks that may be combined in various ways to create higher abstraction buffers.
- booch95 - The Ada 95 Booch components are a port of Grady Booch's C++ components.
- sal - SAL (Stephe's Ada Library).
- paraffin - A suite of Ada 2012 generics to facilitate iterative and recursive parallelism for multicore systems.
- deepend - Deepend is a storage pool with subpool capabilities for Ada 2012, Ada 2005, and Ada 95.
- charles - Charles is an Ada 95 container library, precursor to Ada 2005+ standard containers.
- ada-language-server - Adacore server implemention of the the Microsoft Language Protocol for Ada and SPARK.
- ada-lsp - Language Server Protocol for Ada.
- ada-lsp-client - Prototype implementation of LSP client - Visual Studio 2017.
- ada-traits-containers - Generic Ada Library for Algorithms and Containers.
- pragmarc - PragmAda Reusable Components (PragmARCs) from PragmAda S/W Engineering.
- ada-id - Simple Ada library for generating UUIDs.
- ada-ga - Genetic Algorithm Implementation for Ada.
- ada-sodoku - Small Library for Sodoku grid solving / finding.
- sl3p - Simple Layer 3 Protocol.
- smart-pointers - A package providing a reference-counted access type Smart_Pointer.
- hungarian-algorithm - Hungarian Algorithm implementation in Ada.
- nb-ada - NBAda : An Ada library of lock-free data structures and algorithms.
- simple-blockchain - Simple blockchain in Ada.
- adagio - Gnutella2 (G2) network server leaf.
- agpl - Ada General Purpose Library (Miscellaneous utilities, with a robotic flavor).
- az3 - Ada binding for Z3.
- chests - Chests are bounded containers.
-
Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
- aflex-ayacc - Ada scanner and parser generators.
- wisitoken - WisiToken is an LALR, LR1, and Packrat parser generator and run-time.
- aflex-ayacc - Ada scanner and parser generators.
- gela - Ada code analyzer.
- anagram - Grammar handling and parser generation Ada library.
- ada-pretty - Pretty printing library for Ada.
- increment - Incremental analysis in Ada.
- parse-args - Simple command-line argument parsing.
- aforth - Embeddable Forth interpreter written in Ada.
- parser-tools - Tools for writing lexers / parsers in Ada.
- xia - An Ada implementation of XPath 1.0.
-
Format Readers, Writers and Checkers
- uri-ada - URI and MIME parser & manipulation library.
- uri-ada - URI and MIME parser & manipulation library.
- ini-files - The Ini file manager consists of a package, Config, which can read and modify informations from various configuration files known as "ini" files.
- protobuf-ada - Experimental Ada code generation support for Google Protocol Buffers.
- protobuf - A Google Protocol Buffers implementation in Ada, using [matreshka].
- ada-yaml - Experimental YAML 1.3 implementation in Ada.
- json-ada - An Ada 2012 library for parsing JSON.
- jwx - A formally verified JSON library in SPARK.
- xmlada - The XML/Ada toolkit.
- xml-ez-out - Library for emitting XML from Ada programs.
- spark-xml - A formally verified XML library in SPARK.
- excel-writer - Create Excel files with basic formats.
- generic-image-decoder - Multi-format image decoder library for Ada.
- ada-pdf-writer - Ada package for producing easily and automatically PDF files, from an Ada program, with text, vector graphics, images (JPEG).
- ada-midi - Implementation of Midi / MidiFile reading and writing.
- ada-bar-codes - 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.
- ada-bin2asc - Various binary-to-ASCII codecs such as Base64.
- abf-io - A library of access routines to Axon's ABF file format (electrophysiology, most common) in Ada.
- ada-toml - TOML parser for Ada.
- ada-libmagic - Magic Number Recognition Library Ada binding (libmagic (3)).
-
Networking and Communication Middleware
- anet - Anet is a networking library for the Ada programming language.
- adhcp - ADHCP is an implementation of the DHCP protocol in Ada.
- dbus-ada - The D_Bus/Ada library provides an Ada binding to the D-Bus message bus system.
- tomi-4-ada - Wrappers for various client/server and pub/sub messaging protocols (AMQP, STOMP and ZeroMQ), focusing exclusively on text message communications.
- tlsada - Bindings to the libtls TLS/SSL library.
- zeromq-ada - Binding to the ZeroMQ comunications-library.
- tomi-4-ada - Wrappers for various client/server and pub/sub messaging protocols (AMQP, STOMP and ZeroMQ), focusing exclusively on text message communications.
- adasockets - IPv4 socket library (TCP, UDP, and multicast).
- mosquitto-ada - Binding for the MQTT broker Mosquitto.
- kafka-ada - Binding for the C librdkafka library, allows sending and receiving from a Kafka bus.
- adare-net - This is a small, portable and easy to use Ada network lib. It supports ipv4 ipv6 udp and tcp, and can 'listen' with ipv6, too.
-
Graphics and Multimedia
- plplot - Cross-platform, scientific graphics plotting library, including an Ada binding.
- vulkada - A complete Vulkan 1.1 thick binding for Ada 2012.
- orka - The OpenGL 4.6 Rendering Kernel in Ada 2012.
- opengl-ada - Thick Ada binding for OpenGL and GLFW.
- adagl - Multiplatform Ada/OpenGL bindings (ported to native/OpenGL, A2JS/WebGL and WASM/WebGL).
- sdlada - Ada 2012 bindings to SDL 2.
- ada-nanovg - Ada bindings to NanoVG.
- free-type-ada - FreeType binding for Ada 2005.
- asfml - Ada binding to the Simple and Fast Multimedia Library.
-
General Purpose Computing
- cuda-ada - CUDA/Ada is an Ada binding to NVIDIA's CUDA parallel computing platform and programming model.
- cuda - CUDA support from AdaCore.
- opencl-ada - An Ada binding for the OpenCL host API.
- boehmgc-ada - Ada binding to the Boehm-Demers-Weiser conservative garbage collector.
- ada-bfd - An Ada binding for the GNU Binutils BFD library. It allows to read binary ELF, COFF files by using the GNU BFD.
-
Sound
- scala - Scala is a powerful software tool for experimentation with musical tunings, such as just intonation scales, equal and historical temperaments, microtonal and macrotonal scales, and non-Western scales.
- adaogg - Complete thin interface layer that brings the Ogg, Vorbis, and Theora libraries to the Ada 2012 programming language.
- scala - Scala is a powerful software tool for experimentation with musical tunings, such as just intonation scales, equal and historical temperaments, microtonal and macrotonal scales, and non-Western scales.
- opus-ada - Ada 2012 bindings for the Opus audio codec.
- canberra-ada - Ada 2012 bindings for libcanberra, an implementation of the XDG Sound Theme and Name Specifications.
- ada-soundio - Ada bindings for libsoundio.
- oto - Ada binding to OpenAL which tries to mimic original API while using Ada types.
- coreland-openal-ada - Ada binding to OpenAL.
- ada-synthetizer - Sound Synthetizer Library implemented in Ada.
- portable-openal-sound - A linux-sound-playing package for Ada apps that can asynchronously start and stop music loops, as well as initiate transient sounds.
-
Localization
-
Utilities
- getopt-ada - Portable implementation of getopt(3) in Ada.
- a-stream-tools - Stream utilities for Ada2005 and 2012.
- ssprep - An extensible template engine akin to jinja but using [template-parser] and intended for command line usage.
- auto-counters - Reference counting approaches to resource management.
- licensing - Open Source Licenses library for Ada.
- simple-logging - Easy to use logging facilities for output to console in Ada programs.
- rsfile - Command-line utility that picks a file from a folder hierarchy with probability proportional to its size.
- cstrings - Convenience subprograms to interact with C strings.
- cvsweb2git - Tool to imports CVS repository shared on Ada Conformity Assessment Authority into the Git repository.
- ada-bundler - Library and tool for transparently handling data and configuration file access in an Ada application. Supports macOS, Linux and Windows.
- macos-sdks-vs-gcc - Provides GCC 'specs' files to cope with SDK policy changes.
- ux-strings - Unicode extended strings.
-
Linux and POSIX
- florist - POSIX Ada binding, IEEE Standards 1003.5(b,c).
- wposix - Ada Windows POSIX binding.
- ada-v4l2 - Ada Posix Binding to Video 4 Linux, used for RPI.
- inotify-ada - An Ada 2012 library for monitoring filesystem events using Linux' inotify API.
- dl-ada - Minimal binding to libdl.
- suid-helper - Small Ada library that helps in writing safer suid programs.
-
Cryptography
- threefish - Ada Implementation of the Threefish-256 Encryption Algorithm.
- base58-ada - Base58 encoding and decoding in Ada.
- fletcher - Trivial implementation of fletcher_16 checksum computation algorithm.
- ada-crypto-library - This is a crypto library for Ada with a nice API and is written for the i386 and x86_64 hardware architecture.
- libsparkcrypto - A cryptographic library implemented in SPARK.
- sip-hash - A pure Ada implementation of the SipHash PRF.
- libkeccak - A SPARK implementation of the Keccak family of sponge functions and related constructions.
- ascon-spark - Ada/SPARK implementation of the Ascon Authenticated Encryption with Additional Data Algorithm.
- spark-sip-hash - Ada/SPARK implementation of the SipHash keyed hash function.
- spark-norx - Ada/SPARK implementation of the NORX Authenticated Encryption with Additional Data Algorithm.
- spark-nacl - SPARK 2014 re-implementation of the TweetNaCl crypto library.
- stotp - Timed One-Time-Pad (RFC 6238) implementation in SPARK.
- xxhash-ada - Extremely fast non-cryptographic Hash algorithm, xxhash is working at speeds close to RAM limits.
- libsodium-ada - A secure cryptographic library (libsodium for Ada).
- ada-libsecret - Ada Binding for the libsecret library.
- blake2s - SPARK83 implementation of the BLAKE2s hash function.
-
Math
- math-packages - Collection of basic math routines in Ada.
- mathpaqs - Mathpaqs is a collection of mathematical, 100% portable, packages in the Ada programming language.
- mandelbrot-ascii - Mandelbrot renderer in "ASCII" (unicode actually, but text nonetheless).
- lalg - Interface to dense linear algebra packages.
- geo-energy-math - Software libraries for solving models described in Mathematical GeoEnergy (Wiley, 2018).
- matrix-root - Compute the N-th root of a matrix.
- hungarian - Ada binding to the fast Stachniss' Hungarian solver.
-
Compression
-
Patterns
- ada-promises - Implementing promises in Ada. Type-safe, efficient, thread-safe.
- reqrep-task-pools - Task pool system for jobs.
- rxada - An Ada 2012 implementation of the Rx methodology.
-
System Modeling
-
Chatting and Communication
- axmpp - With the AXMPP library you can connect to a Jabber server to send and receive messages.
- weechat-ada - Ada 2012 library for WeeChat plug-ins.
- weechat-canberra - A WeeChat plug-in written in Ada 2012 that plays sounds using Canberra.
- weechat-emoji - A WeeChat plug-in written in Ada 2012 that displays emoji.
-
Web
- template-parser - AWS templates engine.
-
Robotics
- rclada - Ada client library for ROS2/RCL.
- player-ada - Ada bindings for the player robotic platform.
-
Windows and .NET
- win32ada - Ada API to the Windows library.
- ada-net-framework - Ada bindings to the Microsoft NetFramework Api.
- ada-winrt - Ada bindings for the Microsft WinRT Api.
- ada-win32 - Ada bindings for the Microsoft Win32 Api.
-
Bindings to Other Languages
- tcl-ada-shell - Tcl Ada SHell (Tash) is an Ada binding to Tcl/Tk.
- tashy - Tashy is short from Tcl Ada SHell Younger. It is derivate of Tash, focused mostly on Tk binding.
- tashy2 - Tashy2 is short from Tcl Ada SHell Younger. It is derivate of Tashy, and aims to be more idiomatic and uses a more permisive license.
- coreland-lua-ada - Ada bindings to the Lua language.
-
-
Hardware and Embedded
-
Communication
- sensortile - This project shows how to initialize a SensorTile and how to send sensor data over BLE from a SensorTile to a suitable host.
- ada-enet - Embedded network stack (Ethernet driver, IPv4, UDP, DNS, DHCP, NTP) for STM32F746 or STM32F769.
-
Frameworks
- SweetAda - A lightweight development framework whose purpose is the implementation of Ada-based software systems. It supports a plethora or CPU architectures and development boards.
- robotics-with-ada - Robotics with Ada, ARM, and Lego.
- adamant - A component-based, model-driven framework for constructing reliable and reusable real-time software.
-
Firmwares
- certiflie - Source code for the full Ada + SPARK Crazyflie 2.0 firmware.
-
Drivers
- ada-drivers-library - Ada drivers for various MCU and sensors.
- em-brick - emBRICK driver and support for emBRICK in Ada.
- dw1000 - Ada/SPARK driver for the DecaWave DW1000 ultra-wideband (UWB) radio chip.
- evb1000 - Ada/SPARK drivers to control the on-board peripherals of the DecaWave EVB1000 evaluation board.
- multiplexed-io - This contains explorations, for AdaPilot, of implementing drivers for the AdaRacer MCU, using the Ravenscar profile of Ada 2012 from AdaCore and device bindings generated using SVD2Ada.
-
Controllers
- solenoid-engine-controller - Software controller for solenoid engines (Ada/STM32F4).
-
Libraries
- giza - Giza is trying to be a simple widget tool kit for embedded platforms.
- ada-synth-lib - Simple audio synthesis library that can run on bareboard devices.
- geste - GESTE is a sprite and tile 2D render engine designed to run on micro-controllers.
- sancta - SANCTA multi-robot task allocation library.
- stm32-ui - STM32 UI library and tools (graphs, images, 12 hour clock).
- ada-time - Ada binding for the Pebble Time smartwatch.
- wiring-pi-ada - Ada bindings for wiringPi.
-
Applications
- coffee-clock - Waking up with a fresh cup of coffee.
- noise-nugget - Square Inch Synthesizer.
- spark-railway-demo - Simulated railway network in SPARK/Ada.
- micro-tem-pi - Raspberry Pi using a BBC Micro:Bit as temperature sensor.
- wee-noise-maker - Wee Noise Maker is an open source pocket synthesizer.
- lunar-lander-rotation - Program that interacts with the AdaFruit BNO055 breakout board in order to send orientation data to a host computer.
- railway-simulation - Program simulating a railway network with trains, switches and signaling. The signaling system is proven with SPARK/Ada to ensure that trains cannot collide.
- etherscope - Ethernet traffic monitor on a STM32F746 board.
-
Generators
- svd2ada - An Ada binding generator from SVD descriptions for bare board ARM devices.
-
-
Deployment
-
Build and Package
- ravenadm - Administration tool for Ravenports http://www.ravenports.com.
- alire - 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.
- alr2appimage - A tool for automatically creating an AppImage executable from an Alire crate.
- aura - 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.
- gprbuild - Adacore multi-language software build tool.
- synth - Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools).
- ada4cmake - CMake macros for simple gnat project inclusion.
- cmake-ada-offa - Ada language support for CMake.
- cmake-ada-cho3 - CMake language support for Ada, fork of [plplot]'s cross-platform support code.
-
Continuous Integration
- continuous-verification - SPARK formal verification automated with Travis CI.
- ada-actions - Ada Toolchains for GitHub Actions.
- porion - Continuous integration server and agent that helps automate the building, testing and deployment.
-
Categories
Sub Categories
Books
123
Continuous Integration
38
Algorithms, Containers and Protocols
23
Format Readers, Writers and Checkers
20
Cryptography
16
Web
16
Utilities
12
Networking and Communication Middleware
11
Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
11
Graphical User Interface
11
Sound
10
Questions and Answers
9
Build and Package
9
Graphics and Multimedia
9
News and Resources
8
Applications
8
Components
8
Online Books
7
Libraries
7
Math
7
Generation
7
Entry Point
6
Simulation
6
Linux and POSIX
6
Tutorials
5
Automation
5
Specialties
5
Open source
5
General Purpose Computing
5
Commercial / Closed source
5
Drivers
5
Generators and Translators
4
Office
4
3D
4
Bindings to Other Languages
4
Terminal User Interface
4
Windows and .NET
4
Text Modes
4
Verification
4
Chatting and Communication
4
Unit Test, Testing
4
Reference
3
Frameworks
3
Online
3
Compression
3
Misc
3
UML
3
VSCode Extensions
3
Science
3
Patterns
3
DevOps
3
Database
3
Communication
2
Robotics
2
Localization
2
Integrated Development Editors
2
Shells, Interpreters and Emulators
2
Multimedia
2
System Modeling
2
Logging
1
Editors
1
Programming Languages
1
Commercial / Open source
1
Encryption
1
Controllers
1
Machine Learning
1
Distributed
1
Generators
1
Mail
1
Firmwares
1
Keywords
ada
101
ada-language
18
linux
10
ada-library
9
game
9
windows
8
spark
7
formal-verification
5
gcc
5
gnat
4
arm
4
opengl
4
spark-ada
4
tk
4
library
3
puzzle
3
Ada
3
tashy
3
zip
3
embedded
3
osdev
3
security
3
formal-methods
3
gtkada
3
weechat
3
compiler
3
weechat-plugin
3
graphics
3
ada-binding
3
gamedev
3
kernel
2
syntax-analysis
2
parsing
2
bindings
2
jwt
2
markdown
2
tcl
2
database
2
ada2012
2
midi
2
operating-system
2
3d-engine
2
x86-64
2
ui
2
web
2
sound
2
3d
2
glfw
2
sfml
2
games
2