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: about 20 hours ago
JSON representation

  • Applications

    • 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.
      • pascal-to-ada - A Pascal to Ada translator.
      • tp7-ada-gtkada - Implementation of Turbo Pascal 7.0 units with [gtkada].
      • tp7-ada-gnoga - Implementation of Turbo Pascal 7.0 units with [gnoga].
      • tiled-code-gen - Code generator for Tiled the map editor.
      • j2ada - Translator for a Java valid source code in Ada source code.
      • 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.
      • 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.
    • 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.
    • 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.
    • Multimedia

      • canta - A tool to help to sing in tune.
      • ada-3ds - A simple 3DS Max model renderer.
      • blackvideo-mini-player - A stand-alone lightweight auxiliary video player support for [``BlackVideo``](https://github.com/BlackBlazent/BlackVideo).
    • Office

      • azip - A free, portable Zip Archive Manager.
      • texcad - A program for drawing or retouching {picture}s in LaTeX.
      • cbsg - The Corporate Bullshit Generator.
      • hunter - Graphical ([gtkada]) file manager for Linux.
    • 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.
    • Shells, Interpreters and Emulators

      • sparforte - The 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 - 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 [gtkada].
      • yotroc - Assembler/Emulator for a fictional CPU architecture. IDE implemented in [gtkada].
    • 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]).
    • Web

      • wasabee - A Web browser with safety focus.
      • yass - Yet Another Static Site Generator (like Jekyll or Hugo).
      • ironsides - Authoritative DNS server verified by SPARK/Ada.
  • Community

  • Compilers

    • Commercial / Closed source

      • 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.
      • janus-ada - Compiler supporting all the major features of the Ada 83, Ada 95, Ada 2005 and Ada 2012 versions of the language.
    • 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++.
    • Online

      • 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.
      • gnat-ce (discontinued) - 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.
    • Open source

      • hac - The HAC Ada Compiler - a small, quick Ada compiler fully in Ada.
      • byron - A community project to build an Ada compiler, toolchain, and IDE-system.
      • augusta - Ada compiler written in Scala that targets LLVM.
      • 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 2022, Ada 2012, Ada 2005, Ada 95 and Ada 83.
  • 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.
      • 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.
      • ravenadm - Administration tool for Ravenports http://www.ravenports.com.
      • tada - An opinionated package management tool for Ada.
    • 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.
  • Edit

    • Editors

      • 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.
    • Integrated Development Editors

    • 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.
      • doom-ada - Doom Emacs Ada language module with syntax highlighting, LSP and Alire support.
      • ob-ada-spark - Ada/SPARK support for org-babel : Evaluate source code blocks with Gnu Emacs and org files.
    • 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.
  • Education

  • 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.
    • Automation

      • ada-for-automation - A4A is a framework for designing industrial automation applications using the Ada language.
    • Components

      • 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 - 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.
      • 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.
    • 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.
    • Distributed

      • poly-orb - PolyORB provides a uniform solution to build distributed applications relying either on middleware standards.
    • Graphical User Interface

      • gnoga - The GNU Omnificent GUI for Ada.
      • qt-ada - Ada-2012 port to Qt 6 framework.
      • 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.
      • claw - A High Level, Portable, Ada 95 Binding for Microsoft Windows.
      • fltk-ada - Ada-2012 binding to FLTK (Fast Light Toolkit).
      • anuklear - Ada binding to the Nuklear GUI library and the Nuklear-SDL renderer.
    • Logging

      • alog - Stackable logging framework for Ada.
      • elogs - Logging framework for embedded systems absent of runtime errors.
    • Machine Learning

      • fuzzyml - Fuzzy machine learning framework.
    • 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.
    • Unit Test, Testing

      • aunit - Ada unit testing framework.
      • gnatbdd - Behavior Driven Development in Ada.
      • scripted-testing - Supports functional testing using Tcl scripts.
      • ahven - A simple unit test library and framework for the Ada programming.
      • bbt - Simple tool to black box check the behavior of an executable through the command line.
      • testy - Ada testing framework, part of [Tada](https://github.com/tomekw/tada).
    • Web

      • aws - Ada Web Server 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 - Framework to develop information systems consisting of five major components: League, XML processor, Web framework, SQL access, and the Modeling framework.
  • Games

    • Continuous Integration

      • unity-ada-tetris - Tetris, in Ada, for the Unity game engine.
      • 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.
      • 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 - A mine-finding game that never requires guessing.
      • play-2048 - 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)).
      • retro-arcade - Space Invaders, Pacman, & Frogger games that run in a terminal on Windows, OS-X & Linux.
      • pasta - A game of the "match-3" genre, implemented in [gnoga].
      • gade - A Game Boy emulation library in Ada.
      • gade-sdl - An SDL2 Game Boy emulation front end for [Gade](https://github.com/ellamosi/gade) using [SDLAda](https://github.com/Lucretia/sdlada).
  • Hardware and Embedded