awesome-ada
by ohenley
A curated list of awesome resources related to the Ada and SPARK programming language
AI summary
Ada resource hub
A curated collection of resources and tutorials for learning and using the Ada programming language.
- stars
- 656
- forks
- 73
- watching
- 49
- awesome lists
- 4
- entries
- 400
What's in the list
400 links in 79 sections, with live GitHub stats.activeno commit in 2y
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-logo-editor
The “Ada horizon” logo maker website
Education / 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
spark-by-example
Collection of verified functions and data types in SPARK
Education / 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
Education / Specialties
- gems
Ada Gem Archive
ada-composition
A collections of small nifty demos/sample code that may help better layout data or structure project
- 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
Education / 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
Community / 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 (v3) ( )
- adasearch
Custom search engines for finding anything related to the Ada and SPARK programming languages, without interference from other homonymous topics
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
Compilers / 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++
Compilers / 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
Compilers / 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
Edit / 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
Edit / Text Modes
- gnu-emacs-ada-mode
Gnu Emacs major-mode for editing Ada sources
vim-ada-bundle
Maintained Ada Bundle : Complete Ada-Mode for Vim/NeoVim
ada-tmbundle
TextMate support for Ada
- bbedit-ada-module
BBEdit support for Ada
ob-ada-spark
Ada/SPARK support for org-babel : Evaluate source code blocks with Gnu Emacs and org files
Edit / VSCode Extensions
- adacore-ada
Language Support for Ada. It includes
ada-vscode
Basic syntax highlighting for Ada and GPR
ada-utilities
VSCode extension Ada programmers which provides a few utility functions
Deployment / Build and Package
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
ravenadm
Administration tool for Ravenports
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 's cross-platform support code
Deployment / 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
Runtimes
bb-runtimes
GNAT bare metal board support package (BSP)
- avr-ada
GNAT for 8-bit AVR microcontrollers
ada-runtime
A downsized Ada runtime which can be adapted to different platforms
cortex-gnat-rts
This package includes GNAT Ada Run Time Systems (RTSs) based on FreeRTOS and targeted at boards with Cortex-M0, M3, -M4, -M4F MCUs
adawebpack
GNAT RTL for WASM and bindings for Web API
OS and Kernels
- 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
ewok
EwoK is a microkernel targeting micro-controllers and embedded systems
bare-bones
An Ada port of the minimal 32-bit x86 kernel
- 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
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
- ironclad
A kernel for several architectures striving for POSIX compatibility, used on several distributions like
hirtos
A high-integrity RTOS written in SPARK Ada
Games
steamsky
Roguelike in sky with a steampunk setting
- unity-ada-tetris
Tetris, in Ada, for the Unity game engine
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
- pasta
Pasta! is a game of the "match-3" genre, implemented in
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 for graphics and for saving state
bingada
Bingo application in
civ-klon
Civilization-style turn-based strategy game. Requires
eepers
A simple Turn-based Game in Ada (made with )
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
ada-util
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
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
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
Frameworks / Distributed
poly-orb
PolyORB provides a uniform solution to build distributed applications relying either on middleware standards
Frameworks / Graphical User Interface
- gnoga
The GNU Omnificent GUI for Ada
gwindows
GNU Ada Visual Interface
- claw
CLAW, a High Level, Portable, Ada 95 Binding for Microsoft Windows
gtkada
Ada graphical toolkit based on Gtk3 components
- 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)
ada-gui
GUI implemented on its own task, so it doesn't require that its client give up a thread of control. Derived from
adawebui
GUI based on
imgui-ada
Ada binding of the ImGui library
anuklear
Ada binding to the Nuklear GUI library and the Nuklear-SDL renderer
Frameworks / Terminal User Interface
curses
Advanced UNIX Terminal UI Ada Binding Package
- ncurses-ada95
Ada95 bindings for ncurses
- linenoise-ada
Bindings to the Linenoise line-editing library (patched to support UTF-8)
areadline
Ada binding to the readline library
Frameworks / 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
Frameworks / Database
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
- apq-base
APQ is a database interface library written in Ada95
Frameworks / 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
Frameworks / Web / awa
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)
Frameworks / Web
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
Frameworks / Unit Test, Testing
- ahven
Ahven is a simple unit test library and framework for the Ada programming. language. It is loosely modelled after JUnit and some ideas from AUnit
aunit
Ada unit testing framework
gnatbdd
Behavior Driven Development in Ada
scripted-testing
Supports functional testing using Tcl scripts
Frameworks / Logging
- alog
Alog is a stackable logging framework for Ada
Frameworks / Machine Learning
- fuzzyml
Fuzzy machine learning framework
Frameworks / 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
Tools / 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
Tools / Verification
gnat-coverage
GNATcoverage is a tool to analyze and report program coverage
- adacontrol
Ada constructs lint tool
spark-2014
SPARK formal verification toolset
acats
The Ada Conformity Assessment Test Suite, customised for GCC
acats-grading
Tools for grading ACATS results, modified for Unix-like systems
Tools / Generation
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
- fmt
Formal Methods Toolkit is a set of extension packages for Mathematica, supporting software. engineering activities related to modeling, verification and Ada code generation
automate
Finite-state machine generator
ajunitgen
Generator of JUnit-compatible XML reports in Ada
record-flux
RecordFlux: Toolset for the formal specification of messages and the generation of verifiable binary parsers and message generators in SPARK
- resource-embedder
Advanced Resource Embedder to embed files in binaries by producing C, Ada or Go source files
Tools / UML
Tools / Encryption
ada-keystore
Ada Keystore - protect your sensitive data with secure storage
Libraries / 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
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
Libraries / Algorithms, Containers and Protocols
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
- dequesterity
Deque/buffer generics that consist of building blocks that may be combined in various ways to create higher abstraction buffers
pragmarc
PragmAda Reusable Components (PragmARCs) from PragmAda S/W Engineering
- booch95
The Ada 95 Booch components are a port of Grady Booch's C++ components
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
- sal
SAL (Stephe's Ada Library)
nb-ada
NBAda : An Ada library of lock-free data structures and algorithms
- 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
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
Libraries / Cryptography
threefish
Ada Implementation of the Threefish-256 Encryption Algorithm
fletcher
Trivial implementation of fletcher_16 checksum computation algorithm
base58-ada
Base58 encoding and decoding in Ada
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
Libraries / Compression
Libraries / 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
Libraries / System Modeling
Libraries / Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
libadalang
Libadalang is a library for parsing and semantic analysis of Ada code. It is meant as a building block for integration into other tools (IDE, static analyzers, etc)
- aflex-ayacc
Ada scanner and parser generators
- wisitoken
WisiToken is an LALR, LR1, and Packrat parser generator and run-time
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
Libraries / Format Readers, Writers and Checkers
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
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
- uri-ada
URI and MIME parser & manipulation library
- ada-libmagic
Magic Number Recognition Library Ada binding (libmagic (3))
Libraries / 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
adasockets
IPv4 socket library (TCP, UDP, and multicast)
- dbus-ada
The D_Bus/Ada library provides an Ada binding to the D-Bus message bus system
- 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
mosquitto-ada
Binding for the MQTT broker Mosquitto
- tlsada
Bindings to the libtls TLS/SSL library
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
- 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
Libraries / 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
Libraries / Web
template-parser
AWS templates engine
Libraries / Graphics and Multimedia
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
- plplot
Cross-platform, scientific graphics plotting library, including an Ada binding
- vulkada
A complete Vulkan 1.1 thick binding for Ada 2012
Libraries / General Purpose Computing
cuda
CUDA support from AdaCore
- cuda-ada
CUDA/Ada is an Ada binding to NVIDIA's CUDA parallel computing platform and programming model
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
Libraries / Sound
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
- 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
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
- adaogg
Complete thin interface layer that brings the Ogg, Vorbis, and Theora libraries to the Ada 2012 programming language
Libraries / Localization
Libraries / Utilities
auto-counters
Reference counting approaches to resource management
- a-stream-tools
Stream utilities for Ada2005 and 2012
- ssprep
An extensible template engine akin to jinja but using and intended for command line usage
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
- getopt-ada
Portable implementation of getopt(3) in Ada
Libraries / Robotics
rclada
Ada client library for ROS2/RCL
player-ada
Ada bindings for the player robotic platform
Libraries / 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
Libraries / 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
Libraries / 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
ada-lua
Ada binding for Lua
coreland-lua-ada
Ada bindings to the Lua language
Hardware and Embedded / 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
Hardware and Embedded / Firmwares
certiflie
Source code for the full Ada + SPARK Crazyflie 2.0 firmware
Hardware and Embedded / 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
Hardware and Embedded / Controllers
solenoid-engine-controller
Software controller for solenoid engines (Ada/STM32F4)
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
Hardware and Embedded / 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
Hardware and Embedded / 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
Hardware and Embedded / Generators
svd2ada
An Ada binding generator from SVD descriptions for bare board ARM devices
Applications / Office
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
Applications / Web
Applications / Multimedia
Applications / Automation
acnc
A G-code parser and CNC controller (in Ada)
- max-home-automation
application to manage ELV/eQ-3 MAX! cubes for home automation
- ada4automation
A framework for designing industrial automation applications using the Ada language
Applications / Simulation
eagle-lander
Apollo 11 lunar lander simulator ( /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 ( , )
doppler-effect-sample2
Moving airplane causes Stereo Sound Doppler effect ( )
Applications / Generators and Translators
- adabrowse
HTML generator for Ada95 library unit specs
pascal-to-ada
A Pascal to Ada translator
Applications / Generators and Translators / pascal-to-ada
tp7-ada-gtkada
Implementation of Turbo Pascal 7.0 units with
tp7-ada-gnoga
Implementation of Turbo Pascal 7.0 units with
Applications / Generators and Translators
tiled-code-gen
Code generator for Tiled the map editor
j2ada
Translator for a Java valid source code in Ada source code
- 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
cappulada
Ada binding generator for C++
asis2xml
Converts Ada sources' ASIS representation to XML, so as to make it easier to develop reporting and transformational tools using (for example) XSLT
winforms2gtk
Helper conversor of Visual Basic Microsoft Windows Forms applications to Gtk and Ada
Applications / 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
gsh
GSH is non interactive POSIX shell for Windows, aimed at GNU software builds. 2-3 times faster than Cygwin
analytical-engine
An Ada 2012 emulation of Charles Babbage's Analytical Engine
a-shell
A component to aid in writing shell-like applications in Ada
dashera
Data General DASHER terminal emulator using
yotroc
Assembler/Emulator for a fictional CPU architecture. IDE implemented in
Applications / 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
Applications / Misc
dhondt
Ada implementation of D'Hondt electoral result calculator
whitakers-words
William Whitaker's WORDS, a Latin dictionary
ada-chess
Chess engine written in Ada
adage
An Ada/SPARK alternative to sudo and doas
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-ada.