Awesome Lists

awesome-ada

by ohenley

awesome listpushed about 2 years ago

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
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/ohenley/awesome-ada/links.svg)](https://awesome.facts.dev/awesome/ohenley/awesome-ada)
HTML
<a href="https://awesome.facts.dev/awesome/ohenley/awesome-ada"><img src="https://awesome.facts.dev/shield/ohenley/awesome-ada/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/ohenley/awesome-ada/links.svg

What's in the list

400 links in 79 sections, with live GitHub stats.activeno commit in 2y

Education / Entry Point

Education / Tutorials

Education / Online Books

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

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

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

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

  • buttons

    A simple 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 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

  • ada-ml

    Ada-tailored UML Modeling Language

  • coldframe

    ColdFrame generates Ada framework code and documentation from UML models

  • umbrello

    Unified Modelling Language (UML) diagram program based on KDE Technology. Outputs Ada

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

  • zip-ada

    Zip-Ada is a programming library for dealing with the Zip compressed archive file format

  • ada-lzma

    Ada binding for liblzma compression library

  • dcf-ada

    An Ada 2012 library for document container files (Based on )

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

  • ada-fuzzy

    A fuzzy inference system library for Ada

  • radalib

    Ada library and tools for the analysis of Complex Networks and more

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

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

  • zanyblue

    An Ada package allowing the externalization of application messages into a properties file

  • ada-intl

    NLS thin Ada binding (gettext (3), textdomain (3), bindtextdomain (3))

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

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

  • azip

    A free, portable Zip Archive Manager

  • texcad

    TeXCAD is a program for drawing or retouching {picture}s in LaTeX

  • cbsg

    The Corporate Bullshit Generator

  • hunter

    Graphical ( ) file manager for Linux

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

  • ironsides

    Authoritative DNS server verified by SPARK/Ada

  • wasabee

    A Web browser with safety focus

  • yass

    Yet Another Static Site Generator (like Jekyll or Hugo)

Applications / Multimedia

  • ada-3ds

    A simple 3DS Max model renderer

  • canta

    A tool to help to sing in tune

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

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

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.