Files
awesome-awesomeness/html/ada.html
2025-07-18 22:22:32 +02:00

1627 lines
76 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-ada-awesome">Awesome Ada <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<br/><br/>
<div data-align="center">
<pre><code>&lt;img width=&quot;260px&quot; src=&quot;https://github.com/ohenley/files/blob/master/awesome-ada/logo_ada_awesome.svg&quot; alt=&quot;Awesome&quot;/&gt;</code></pre>
</div>
<p><br/><br/></p>
<blockquote>
<p><font size="7"><a
href="https://www2.seas.gwu.edu/~mfeldman/ada-project-summary.html">Ada
is powering satellites, aircrafts, ships, power plants, surgical
robots</a>, drones, CNCs, servers, games and coffee makers.</font> Ada
is arguably the most { <b>performant</b><b>capable</b>
<b>precise</b><b>readable</b><b>mature</b> } programming language.
Ada is alive and kicking!</p>
<p>Long live Ada/SPARK.</p>
</blockquote>
<p><br/><br/></p>
<p>A curated list of awesome resources related to the Ada and SPARK
programming language.</p>
<h2 id="contents">Contents</h2>
<details>
<summary>
Click to expand
</summary>
<ol type="1">
<li><a href="#presentation">Presentation</a></li>
<li><a href="#education">Education</a>
<ol type="1">
<li><a href="#entry-point">Entry Point</a></li>
<li><a href="#tutorials">Tutorials</a></li>
<li><a href="#online-books">Online Books</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#specialties">Specialties</a></li>
<li><a href="#reference">Reference</a></li>
</ol></li>
<li><a href="#community">Community</a>
<ol type="1">
<li><a href="#questions-and-answers">Questions and Answers</a></li>
<li><a href="#news-and-resources">News and Resources</a></li>
<li><a href="#competition">Competition</a></li>
</ol></li>
<li><a href="#compilers">Compilers</a>
<ol type="1">
<li><a href="#open-source">Open source</a></li>
<li><a href="#commercial--open-source">Commercial / Open source</a></li>
<li><a href="#commercial--closed-source">Commercial / Closed
source</a></li>
<li><a href="#online">Online</a></li>
</ol></li>
<li><a href="#edit">Edit</a>
<ol type="1">
<li><a href="#integrated-development-editors">Integrated Development
Editors</a></li>
<li><a href="#editors">Editors</a></li>
<li><a href="#text-modes">Text Modes</a></li>
<li><a href="#vscode-extensions">VSCode Extensions</a></li>
</ol></li>
<li><a href="#deployment">Deployment</a>
<ol type="1">
<li><a href="#build-and-package">Build and Package</a></li>
<li><a href="#continuous-integration">Continuous Integration</a></li>
</ol></li>
<li><a href="#runtimes">Runtimes</a></li>
<li><a href="#os-and-kernels">OS and Kernels</a></li>
<li><a href="#games">Games</a></li>
<li><a href="#frameworks">Frameworks</a>
<ol type="1">
<li><a href="#components">Components</a></li>
<li><a href="#distributed">Distributed</a></li>
<li><a href="#graphical-user-interface">Graphical User
Interface</a></li>
<li><a href="#terminal-user-interface">Terminal User Interface</a></li>
<li><a href="#3d">3D</a></li>
<li><a href="#database">Database</a></li>
<li><a href="#web">Web</a></li>
<li><a href="#unit-test-testing">Unit Test, Testing</a></li>
<li><a href="#logging">Logging</a></li>
<li><a href="#machine-learning">Machine Learning</a></li>
<li><a href="#automation">Automation</a></li>
</ol></li>
<li><a href="#tools">Tools</a>
<ol type="1">
<li><a href="#devops">DevOps</a></li>
<li><a href="#verification">Verification</a></li>
<li><a href="#generation">Generation</a></li>
<li><a href="#uml">UML</a></li>
<li><a href="#encryption">Encryption</a></li>
</ol></li>
<li><a href="#libraries">Libraries</a>
<ol type="1">
<li><a href="#math">Math</a></li>
<li><a href="#science">Science</a></li>
<li><a href="#algorithms-containers-and-protocols">Algorithms,
Containers and Protocols</a></li>
<li><a href="#cryptography">Cryptography</a></li>
<li><a href="#compression">Compression</a></li>
<li><a href="#patterns">Patterns</a></li>
<li><a href="#system-modeling">System Modeling</a></li>
<li><a
href="#parsers-scanners-linters-analysers-interpreters-and-prettyprinters">Parsers,
Scanners, Linters, Analysers, Interpreters and Prettyprinters</a></li>
<li><a href="#format-readers-writers-and-checkers">Format Readers,
Writers and Checkers</a></li>
<li><a href="#networking-and-communication-middleware">Networking and
Communication Middleware</a></li>
<li><a href="#chatting-and-communication">Chatting and
Communication</a></li>
<li><a href="#web-1">Web</a></li>
<li><a href="#graphics-and-multimedia">Graphics and Multimedia</a></li>
<li><a href="#general-purpose-computing">General Purpose
Computing</a></li>
<li><a href="#sound">Sound</a></li>
<li><a href="#localization">Localization</a></li>
<li><a href="#utilities">Utilities</a></li>
<li><a href="#robotics">Robotics</a></li>
<li><a href="#linux-and-posix">Linux and POSIX</a></li>
<li><a href="#windows-and-net">Windows and .NET</a></li>
<li><a href="#bindings-to-other-languages">Bindings to Other
Languages</a></li>
</ol></li>
<li><a href="#hardware-and-embedded">Hardware and Embedded</a>
<ol type="1">
<li><a href="#frameworks-1">Frameworks</a></li>
<li><a href="#firmwares">Firmwares</a></li>
<li><a href="#drivers">Drivers</a></li>
<li><a href="#controllers">Controllers</a></li>
<li><a href="#communication">Communication</a></li>
<li><a href="#libraries-1">Libraries</a></li>
<li><a href="#applications">Applications</a></li>
<li><a href="#generators">Generators</a></li>
</ol></li>
<li><a href="#applications-1">Applications</a>
<ol type="1">
<li><a href="#office">Office</a></li>
<li><a href="#mail">Mail</a></li>
<li><a href="#web-2">Web</a></li>
<li><a href="#multimedia">Multimedia</a></li>
<li><a href="#automation-1">Automation</a></li>
<li><a href="#simulation">Simulation</a></li>
<li><a href="#generators-and-translators">Generators and
Translators</a></li>
<li><a href="#shells-interpreters-and-emulators">Shells, Interpreters
and Emulators</a></li>
<li><a href="#programming-languages">Programming Languages</a></li>
<li><a href="#misc">Misc</a></li>
</ol></li>
</ol>
</details>
<h2 id="presentation">Presentation</h2>
<div data-align="center">
<p><a href="https://www.youtube.com/embed/yUqJkAZofZs">
<img border="0" src="https://img.youtube.com/vi/yUqJkAZofZs/1.jpg" style="max-width:100%;"/>
</a></p>
<p><a href="https://www.youtube.com/embed/3e-BGblAMC4">
<img border="0" src="https://img.youtube.com/vi/3e-BGblAMC4/2.jpg" style="max-width:100%;"/>
</a></p>
<p><a href="https://www.youtube.com/embed/0yXwnk8Cr0c">
<img border="0" src="https://img.youtube.com/vi/0yXwnk8Cr0c/3.jpg" style="max-width:100%;"/>
</a></p>
</div>
<h2 id="education">Education</h2>
<h3 id="entry-point">Entry Point</h3>
<ul>
<li><a href="https://learn.adacore.com/">learn</a> - Interactive
learning platform designed to teach the Ada and SPARK programming
languages.</li>
<li><a href="https://ada-lang.io">ada-lang-io</a> - A community site for
Ada.</li>
<li><a href="https://www.celebratingada.com/">celebrating-ada</a> - Ada
history key moments.</li>
<li><a
href="https://ada-lang-io.github.io/ada-logo-editor/">ada-logo-editor</a>
- The “Ada horizon” logo maker website.</li>
</ul>
<h3 id="tutorials">Tutorials</h3>
<ul>
<li><a
href="https://www.youtube.com/playlist?list=PLkoa8uxigENkneyEEeDWVPgpMhPc9IJ7o">adacore-video-tutorials</a>
- AdaCore University Video Tutorials.</li>
<li><a
href="http://www.pchapin.org/Ada/AdaCrash.pdf">ada-crash-course</a> -
Ada 2012 crash course under 50 pages from Vermont Technical
College.</li>
<li><a
href="https://drive.google.com/file/d/1hdLc9nZzTnBDcN9qJeDlJm1F9IL91Lvi/view">simple-games</a>
- Learning Ada 2012 by writing simple games.</li>
<li><a
href="https://github.com/tofgarion/spark-by-example">spark-by-example</a>
- Collection of verified functions and data types in SPARK.</li>
</ul>
<h3 id="online-books">Online Books</h3>
<ul>
<li><a
href="https://en.wikibooks.org/wiki/Ada_Programming">ada-wikibook</a> -
Ada Programming book at Wikibooks.</li>
<li><a
href="https://www.adaic.org/wp-content/uploads/2010/05/Ada-Distilled-24-January-2011-Ada-2005-Version.pdf">ada-distilled</a>
- Ada Distilled for Ada 2005.</li>
<li><a
href="https://www.adaic.org/resources/add_content/docs/craft/html/contents.htm">ada-craft</a>
- Ada 95: The Craft of Object-Oriented Programming.</li>
<li><a
href="https://learn.adacore.com/courses/Ada_For_The_CPP_Java_Developer/index.html">ada-cpp-java</a>
- Ada for the C++ or Java Developer.</li>
<li><a
href="https://www.adacore.com/books/implementation-guidance-spark">spark-guidance</a>
- Implementation Guidance for the Adoption of SPARK.</li>
<li><a
href="https://www.adacore.com/uploads/technical-papers/SafeSecureAdav2015.pdf">ada-safe-secure</a>
- Safe and Secure Software. An invitation to Ada 2012.</li>
<li><a
href="https://perso.telecom-paristech.fr/pautet/Ada95/a95list.htm">ada-95-tutorial</a>
- A book going from beginner to advanced concepts in Ada 95, complete
with source files.</li>
</ul>
<h3 id="books">Books</h3>
<p><img height="50px" width="36px" hspace="10px" src="https://assets.cambridge.org/97810091/81341/cover/9781009181341.jpg"><a
href="https://www.cambridge.org/core/books/programming-in-ada-2012-with-a-preview-of-ada-2022/AD30275F35CCECB97EAB80ABC32B019C#">Programming
in Ada 2012 with a Preview of Ada 2022 (2nd ed.)</a> -
Comprehensive.<br />
<img height="50px" width="36px" hspace="10px" src="https://assets.cambridge.org/97811074/24814/cover/9781107424814.jpg"><a
href="https://www.cambridge.org/core/books/programming-in-ada-2012/55B998B4E908A017E4D74A87364FF224#">Programming
in Ada 2012</a> - Comprehensive.<br />
<img height="50px" width="36px" hspace="10px" src="https://images-na.ssl-images-amazon.com/images/I/41v2Gsi5zWL._SX348_BO1,204,203,200_.jpg"><a
href="https://www.amazon.com/Beginning-Ada-Programming-Novice-Professional/dp/1484254279">Beginning
Ada Programming: From Novice to Professional</a> - Introduction.<br />
<img height="50px" width="36px" hspace="10px" src="https://images-na.ssl-images-amazon.com/images/I/41SQC2F542L._SX347_BO1,204,203,200_.jpg"><a
href="https://www.amazon.com/Ada-95-Craft-Object-Oriented-Programming/dp/0132303507">Ada
95: The Craft of Object-Oriented Programming</a> - General,
intermediate.<br />
<img height="50px" width="36px" hspace="10px" src="https://images-na.ssl-images-amazon.com/images/I/51CLo5yzNsL._SX422_BO1,204,203,200_.jpg">
<a
href="https://www.amazon.com/Ada-Plus-Data-Structures-Oriented/dp/0763737941">Ada
Plus Data Structures: An Object Oriented Approach</a> - Data
Structures.<br />
<img height="50px" width="36px" hspace="10px" src="https://media.springernature.com/w306/springer-static/cover-hires/book/978-1-84882-314-3">
<a href="https://link.springer.com/book/10.1007/978-1-84882-314-3">Ada
for Software Engineers</a> - Idioms, Architecture.<br />
<img height="50px" width="36px" hspace="10px" src="https://assets.cambridge.org/97805218/66972/cover/9780521866972.jpg"><a
href="https://www.cambridge.org/core/books/concurrent-and-realtime-programming-in-ada/9DA4389E52005382D4CC1FC5D812DA71">Concurrent
and Real-Time Programming in Ada</a> - Concurrency, Containers,
Scheduling.<br />
<img height="50px" width="36px" hspace="10px" src="https://media.springernature.com/w306/springer-static/cover-hires/book/978-1-4612-1854-8"><a
href="https://link.springer.com/book/10.1007/978-1-4612-1854-8">Data
Structures and Algorithms: An Object-Oriented Approach Using Ada 95</a>
- Data structures, Algorithms.<br />
<img height="50px" width="36px" hspace="10px" src="https://assets.cambridge.org/97805211/97168/cover/9780521197168.jpg"><a
href="https://www.cambridge.org/core/books/building-parallel-embedded-and-real-time-applications-with-ada/9FC78A90F1B6A2228D69E32CE610A66C">Building
Parallel, Embedded, and Real-Time Applications with Ada</a> -
Concurrency, Distributed.<br />
<img height="50px" width="36px" hspace="10px" src="https://images-na.ssl-images-amazon.com/images/I/41HIwJp0ktL._SX336_BO1,204,203,200_.jpg"><a
href="https://www.amazon.com/Analysable-Real-Time-Systems-Programmed-Ada/dp/1530265509/ref=sr_1_2?ie=UTF8&amp;qid=1544540272&amp;sr=8-2&amp;keywords=ada+programming+language">Analysable
Real-Time Systems: Programmed in Ada</a> - Scheduling.<br />
<img height="50px" width="36px" hspace="10px" src="https://assets.cambridge.org/97811076/56840/cover/9781107656840.jpg"><a
href="https://www.cambridge.org/core/books/building-high-integrity-applications-with-spark/F213D9867D2E271F5FF3EDA765D48E95">Building
High Integrity Applications with SPARK</a> - Formal verification.<br />
<img height="50px" width="36px" hspace="10px" src="https://assets.lulu.com/cover_thumbs/1/e/1erpwvkr-front-shortedge-384.jpg"><a
href="https://www.lulu.com/shop/maciej-sobczak/ada-and-spark-on-arm-cortex-m/paperback/product-22614818.html">Ada
and SPARK on ARM Cortex-M</a> - Embedded.</p>
<h3 id="specialties">Specialties</h3>
<ul>
<li><a href="https://www.adacore.com/gems/">gems</a> - Ada Gem
Archive.</li>
<li><a
href="https://github.com/gerr135/ada_composition">ada-composition</a> -
A collections of small nifty demos/sample code that may help better
layout data or structure project.</li>
<li><a href="https://www.adaic.org/learn/materials/">ada-ic-learning</a>
- For additional learning resources, see the AdaIC learning
section.</li>
<li><a
href="https://rosettacode.org/wiki/Category:Ada">ada-at-rosetta-code</a>
- A collection of programming tasks and their sample solutions in
Ada.</li>
</ul>
<h3 id="reference">Reference</h3>
<ul>
<li><a
href="http://www.ada-auth.org/standards/ada22.html">iso-standard</a> -
The 2022 revision to the Ada Standard, usually known as Ada 2022.</li>
<li><a href="https://github.com/reznikmm/adalib">adalib</a> - Standard
Ada library specification as defined in Reference Manual.</li>
<li><a href="https://github.com/bracke/AdaReferenceCard/releases">Ada
2022 Reference Card</a> - Reference Card / Cheatsheet of Ada Attributes,
Aspects, Pragmas and Standard Library.</li>
</ul>
<h2 id="community">Community</h2>
<h3 id="questions-and-answers">Questions and Answers</h3>
<ul>
<li><a href="https://forum.ada-lang.io/">ada-forum</a> - Ada Forum at
ada-lang.io.</li>
<li><a href="https://gitter.im/ada-lang/Lobby">gitter-ada</a> - Ada
channel at Gitter.</li>
<li><a
href="https://usenet.ada-lang.io/comp.lang.ada/">comp-lang-ada</a> - Ada
Usenet newsgroup/forum.</li>
<li><a
href="https://stackoverflow.com/questions/tagged/ada">stack-overflow-ada-tag</a>
- Ada at Stack Overflow.</li>
<li><a href="https://www.reddit.com/r/ada/">subreddit-ada</a> - Ada at
Reddit.</li>
<li><a href="https://www.reddit.com/r/spark/">subreddit-spark</a> -
Spark at Reddit.</li>
<li><a href="https://t.me/ada_lang">telegram-ada</a> - Ada group at
Telegram.</li>
<li><a href="https://libera.chat/">libera-chat-ada</a> - Ada channel at
IRC.</li>
<li><a
href="https://matrix.to/#/#ada-lang_Lobby:gitter.im">matrix-ada</a> -
Ada room at Gitter via Matrix.</li>
<li><a
href="https://hn.algolia.com/?query=ada&amp;sort=byDate">hacker-news-ada</a>
- Ada at Hacker News.</li>
</ul>
<h3 id="news-and-resources">News and Resources</h3>
<ul>
<li><a href="https://blog.adacore.com/">adacore-blog</a> - An insight
into the AdaCore ecosystem.</li>
<li><a href="http://www.ada-europe.org/">ada-europe</a> - Ada-Europe is
an international organization, set up to promote the use of Ada.</li>
<li><a href="https://www.sigada.org/">acm-sig-ada</a> - The Special
Interest Group on Ada.</li>
<li><a
href="https://www.adaic.org/community/">ada-resource-association</a> -
Since 1990 the Ada Resource Associations principal mission has been “To
ensure continued success of Ada users and promote Ada use in the
software industry”.</li>
<li><a href="https://www.adaic.org/">ada-information-clearinghouse</a> -
News and resources for the Ada programming language.</li>
<li><a href="https://ada-planet.blogspot.com/">ada-planet</a> - News
Aggregator from the Ada programming language world (v3) (<a
href="https://matrix.to/#/#ada-lang:matrix.org">Ada-Planet v2 feed via
Matrix</a>).</li>
<li><a href="https://mgrojo.github.io/adasearch/">adasearch</a> - Custom
search engines for finding anything related to the Ada and SPARK
programming languages, without interference from other homonymous
topics.</li>
</ul>
<h3 id="competition">Competition</h3>
<div data-align="center">
<pre><code>&lt;a href=&quot;https://blog.adacore.com/ada-spark-crate-of-the-year-2022-winners-announced&quot;&gt;
&lt;img width=&quot;600px&quot; src=&quot;https://raw.githubusercontent.com/AdaCore/Ada-SPARK-Crate-Of-The-Year/master/banner.jpg&quot;/&gt;
&lt;/a&gt;</code></pre>
</div>
<h2 id="compilers">Compilers</h2>
<h3 id="open-source">Open source</h3>
<h4 id="gpl-no-linking-exception">GPL (no linking exception)</h4>
<ul>
<li><a href="https://www.adacore.com/download">gnat-ce</a> - 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.</li>
</ul>
<h4 id="gpl-with-linking-exception">GPL (with linking exception)</h4>
<ul>
<li><a href="https://www.getadanow.com/">fsf-gnat</a> - 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.</li>
</ul>
<h4 id="mit">MIT</h4>
<ul>
<li><a href="https://github.com/zertovitch/hac">hac</a> - HAC Ada
Compiler - a small, quick Ada compiler fully in Ada.</li>
<li><a href="https://github.com/OneWingedShark/Byron">byron</a> - Byron
is a community project to build an Ada compiler, toolchain, and
IDE-system.</li>
</ul>
<h4 id="apache-license">Apache License</h4>
<ul>
<li><a href="https://github.com/pchapin/augusta">augusta</a> - Ada
compiler written in Scala that targets LLVM.</li>
</ul>
<h3 id="commercial-open-source">Commercial / Open source</h3>
<ul>
<li><a href="https://www.adacore.com/gnatpro">gnat-pro</a> - The GNAT
Pro product line offers a comprehensive toolset (IDEs, debugger,
librairies, dynamic and static analysis tools) for Ada, C and C++.</li>
</ul>
<h3 id="commercial-closed-source">Commercial / Closed source</h3>
<ul>
<li><a
href="http://www.rrsoftware.com/html/prodinf/janus95/j-ada95.htm">janus-ada</a>
- Compiler supporting all the major features of the Ada 83, Ada 95, Ada
2005 and Ada 2012 versions of the language.</li>
<li><a
href="https://www.ptc.com/en/products/developer-tools/objectada">object-ada</a>
- PTC ObjectAda is an extensive family of native and cross development
tools and runtime environments.</li>
<li><a
href="https://www.ptc.com/en/products/developer-tools/apexada">apex-ada</a>
- PTC ApexAda is one of the industrys most popular development
environments for Ada and mixed Ada/C/C++ applications.</li>
<li><a
href="https://www.ghs.com/products/ada_optimizing_compilers.html">greenhills-ada</a>
- Green Hills Software offers the industrys first, fully validated
family of Ada Cross Compilers for real-time targets.</li>
<li><a href="https://www.xgc.com/">xgc</a> - 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.</li>
</ul>
<h3 id="online">Online</h3>
<ul>
<li><a
href="https://www.tutorialspoint.com/compile_ada_online.php">tutorials-point-ada-compiler</a>
- Online compiler built on the CodingGround engine.</li>
<li><a
href="https://www.jdoodle.com/execute-ada-online">jdoodle-ada-compiler</a>
- Online compiler that provides multiple versions of GNAT to test
with.</li>
<li><a href="https://godbolt.org/">compiler-explorer</a> - Run GNAT FSF
compilers interactively from your web browser and interact with the
assembly.</li>
</ul>
<h2 id="edit">Edit</h2>
<h3 id="integrated-development-editors">Integrated Development
Editors</h3>
<p><img width="120px" hspace="10px" src="https://docs.adacore.com/live/wave/gps/html/gps_ug/_images/gps-main-window.png"/>
<a href="https://github.com/AdaCore/gps">The GNAT Programming Studio</a>
- <a
href="https://marketplace.visualstudio.com/items?itemName=AlexGamper.VisualAda">ada-visual</a>
- Ada language integration for Visual Studio 2017.</p>
<h3 id="editors">Editors</h3>
<ul>
<li><a href="https://github.com/zertovitch/lea">lea</a> - LEA, a
Lightweight Editor for Ada, aims to provide an easy, script-world-like,
“look &amp; 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.</li>
</ul>
<h3 id="text-modes">Text Modes</h3>
<ul>
<li><a href="https://www.nongnu.org/ada-mode/">gnu-emacs-ada-mode</a> -
Gnu Emacs major-mode for editing Ada sources.</li>
<li><a href="https://github.com/thindil/Ada-Bundle">vim-ada-bundle</a> -
Maintained Ada Bundle : Complete Ada-Mode for Vim/NeoVim.</li>
<li><a href="https://github.com/textmate/ada.tmbundle">ada-tmbundle</a>
- TextMate support for Ada.</li>
<li><a
href="https://www.barebones.com/support/bbedit/plugin_library.html">bbedit-ada-module</a>
- BBEdit support for Ada.</li>
<li><a href="https://github.com/rocher/ob-ada-spark/">ob-ada-spark</a> -
Ada/SPARK support for org-babel : Evaluate source code blocks with Gnu
Emacs and org files.</li>
</ul>
<h3 id="vscode-extensions">VSCode Extensions</h3>
<ul>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=AdaCore.ada">adacore-ada</a>
- Language Support for Ada. It includes <a
href="https://github.com/AdaCore/ada_language_server">Language Server
for Ada</a>.</li>
<li><a href="https://github.com/Lucretia/ada-vscode">ada-vscode</a> -
Basic syntax highlighting for Ada and GPR.</li>
<li><a
href="https://github.com/Lucretia/ada-utilities">ada-utilities</a> -
VSCode extension Ada programmers which provides a few utility
functions.</li>
</ul>
<h2 id="deployment">Deployment</h2>
<h3 id="build-and-package">Build and Package</h3>
<ul>
<li><a href="https://github.com/alire-project/alire">alire</a> - 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 Rusts cargo or OCamls opam.</li>
<li><a href="https://github.com/mgrojo/alr2appimage">alr2appimage</a> -
A tool for automatically creating an AppImage executable from an Alire
crate.</li>
<li><a href="https://github.com/annexi-strayline/AURA">aura</a> - 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.</li>
<li><a href="https://github.com/AdaCore/gprbuild">gprbuild</a> - Adacore
multi-language software build tool.</li>
<li><a href="https://github.com/jrmarino/ravenadm">ravenadm</a> -
Administration tool for Ravenports http://www.ravenports.com.</li>
<li><a href="https://github.com/jrmarino/synth">synth</a> - Next D/Ports
build tool for live systems (Alternative for Portmaster and Portupgrade
tools).</li>
<li><a href="https://github.com/mosteo/ada4cmake">ada4cmake</a> - CMake
macros for simple gnat project inclusion.</li>
<li><a href="https://github.com/offa/cmake-ada">cmake-ada-offa</a> - Ada
language support for CMake.</li>
<li><a href="https://github.com/cho3/cmake-ada">cmake-ada-cho3</a> -
CMake language support for Ada, fork of <a
href="https://sourceforge.net/projects/plplot/">plplot</a>s
cross-platform support code.</li>
</ul>
<h3 id="continuous-integration">Continuous Integration</h3>
<ul>
<li><a
href="https://github.com/jklmnn/continuous-verification">continuous-verification</a>
- SPARK formal verification automated with Travis CI.</li>
<li><a href="https://github.com/ada-actions/toolchain">ada-actions</a> -
Ada Toolchains for GitHub Actions.</li>
<li><a href="https://gitlab.com/stcarrez/porion">porion</a> - Continuous
integration server and agent that helps automate the building, testing
and deployment.</li>
</ul>
<h2 id="runtimes">Runtimes</h2>
<ul>
<li><a href="https://github.com/AdaCore/bb-runtimes">bb-runtimes</a> -
GNAT bare metal board support package (BSP).</li>
<li><a href="https://sourceforge.net/projects/avr-ada">avr-ada</a> -
GNAT for 8-bit AVR microcontrollers.</li>
<li><a href="https://github.com/Componolit/ada-runtime">ada-runtime</a>
- A downsized Ada runtime which can be adapted to different
platforms.</li>
<li><a
href="https://github.com/simonjwright/cortex-gnat-rts">cortex-gnat-rts</a>
- This package includes GNAT Ada Run Time Systems (RTSs) based on
FreeRTOS and targeted at boards with Cortex-M0, M3, -M4, -M4F MCUs.</li>
<li><a href="https://github.com/godunko/adawebpack">adawebpack</a> -
GNAT RTL for WASM and bindings for Web API.</li>
</ul>
<h2 id="os-and-kernels">OS and Kernels</h2>
<ul>
<li><a href="https://m2os.unican.es/">m2os</a> - RTOS with simple
tasking support for small microcontrollers.</li>
<li><a href="https://marte.unican.es/">marte-os</a> - 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.</li>
<li><a href="https://muen.codelabs.ch/">muen</a> - An x86/64 Separation
Kernel for High Assurance.</li>
<li><a href="https://github.com/wookey-project/ewok-kernel">ewok</a> -
EwoK is a microkernel targeting micro-controllers and embedded
systems.</li>
<li><a href="https://github.com/Lucretia/bare_bones">bare-bones</a> - An
Ada port of the <a
href="https://wiki.osdev.org/Ada_Bare_Bones">osdev.org</a> minimal
32-bit x86 kernel.</li>
<li><a
href="https://sourceforge.net/projects/lovelaceos/">lovelace-os</a> -
Lovelace is an effort to write a Unix like operating system using the
Ada 2012 language.</li>
<li><a
href="https://sourceforge.net/projects/sx-ada-kalinda/">ada-kalinda-os</a>
- Ada KALINDA is a sort of Mac Plus like OS written in Ada95.</li>
<li><a href="https://github.com/ajxs/cxos">cxos</a> - Ada Operating
System development example.</li>
<li><a href="https://github.com/RavSS/HAVK">havk</a> - x86-64
security-focused OS being created with SPARK.</li>
<li><a href="https://github.com/docandrew/CuBit">cubit</a> - CuBitOS is
a multi-processor, 64-bit, (partially) formally-verified,
general-purpose operating system, currently for the x86-64
architecture.</li>
<li><a href="https://ironclad-os.org/">ironclad</a> - A kernel for
several architectures striving for POSIX compatibility, used on several
distributions like <a
href="https://github.com/streaksu/Gloire">Gloire</a>.</li>
<li><a href="https://github.com/jgrivera67/HiRTOS">hirtos</a> - A
high-integrity RTOS written in SPARK Ada.</li>
</ul>
<h2 id="games">Games</h2>
<ul>
<li><a href="https://github.com/thindil/steamsky">steamsky</a> -
Roguelike in sky with a steampunk setting.</li>
<li><a href="https://blog.adacore.com/unity-ada">unity-ada-tetris</a> -
Tetris, in Ada, for the Unity game engine.</li>
<li><a href="https://github.com/AdaCore/tictactoe">tictactoe</a> - A
tictactoe game written and proven in SPARK/Ada.</li>
<li><a href="https://github.com/fastrgv/AdaGate">ada-gate</a> - AdaGate
is a first-person 3D sokoban puzzle game within a Stargate / Portal
fantasy setting for Windows, OS-X and Linux.</li>
<li><a href="https://github.com/fastrgv/RufasCube">rufas-cube</a> -
RufasCube is a puzzle game for Windows, OS-X and GNU Linux (it looks
like a rubic cube but its a slider, not a twister).</li>
<li><a href="https://github.com/fastrgv/AdaVenture">ada-venture</a> -
AdaVenture is a kid-friendly retro point&amp;click game with mazes,
dragons, bats &amp; snakes.</li>
<li><a href="https://github.com/fastrgv/RetroArcade">retro-arcade</a> -
Space Invaders, Pacman, &amp; Frogger games that run in a terminal on
Windows, OS-X &amp; Linux.</li>
<li><a
href="https://github.com/fastrgv/WorldCupSokerban">world-cup-sokerban</a>
- This is a soccer-themed, 3D sokoban puzzle game that runs on Windows,
Mac OS-X and GNU Linux.</li>
<li><a href="http://pasta.phyrama.com/">pasta</a> - Pasta! is a game of
the “match-3” genre, implemented in <a
href="https://sourceforge.net/projects/gnoga/">gnoga</a>.</li>
<li><a href="https://github.com/andreacervetti/buttons">buttons</a> - A
simple <a href="https://github.com/AdaCore/gtkada">gtkada</a> Button
Mania game.</li>
<li><a
href="https://github.com/jrcarter/Mine_Detector">mine-detector</a> -
Mine Detector: a mine-finding game that never requires guessing.</li>
<li><a href="https://github.com/mgrojo/play_2048">play-2048</a> - Play
2048! is a clone of the popular 2048 game, implemented in Ada using <a
href="https://github.com/mgrojo/ASFML">asfml</a> for graphics and <a
href="https://github.com/pmderodat/ada-toml">ada-toml</a> for saving
state.</li>
<li><a href="https://github.com/jfuica/bingada">bingada</a> - Bingo
application in <a
href="https://github.com/AdaCore/gtkada">gtkada</a>.</li>
<li><a href="https://github.com/HonkiTonk/Civ-Klon">civ-klon</a> -
Civilization-style turn-based strategy game. Requires <a
href="https://github.com/mgrojo/ASFML">asfml</a>.</li>
<li><a href="https://github.com/tsoding/eepers">eepers</a> - A simple
Turn-based Game in Ada (made with <a
href="https://github.com/raysan5/raylib">raylib</a>).</li>
</ul>
<h2 id="frameworks">Frameworks</h2>
<h3 id="components">Components</h3>
<ul>
<li><a
href="http://www.dmitry-kazakov.de/ada/components.htm">simple-components</a>
- 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.</li>
<li><a href="https://github.com/stcarrez/ada-util/">ada-util</a> - 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.</li>
<li><a href="https://github.com/AdaCore/gnatcoll-core">gnatcoll-core</a>
- This is the core module of the GNAT Components Collection.</li>
<li><a
href="https://github.com/AdaCore/gnatcoll-bindings">gnatcoll-bindings</a>
- This is the bindings module of the GNAT Components Collection.</li>
<li><a href="https://github.com/AdaCore/gnatcoll-db">gnatcoll-db</a> -
This is the DB module of the GNAT Components Collection.</li>
<li><a href="https://github.com/persan/gnatcoll-json">gnatcoll-json</a>
- This is a set of helpers for writing JSON-intefaces it contains JSON
parses for most of the Ada runtime components.</li>
<li><a href="https://github.com/Componolit/gneiss">gneiss</a> - 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 <a
href="https://github.com/Componolit/ada-runtime">ada-runtime</a>.</li>
<li><a href="https://github.com/charlie5/lace">lace</a> - A set of Ada
components to allow 3D simulations, games and GUIs in Ada.</li>
<li><a href="https://github.com/annexi-strayline/ASAP">asap</a> - 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.</li>
</ul>
<h3 id="distributed">Distributed</h3>
<ul>
<li><a href="https://github.com/AdaCore/PolyORB">poly-orb</a> - PolyORB
provides a uniform solution to build distributed applications relying
either on middleware standards.</li>
</ul>
<h3 id="graphical-user-interface">Graphical User Interface</h3>
<ul>
<li><a href="https://sourceforge.net/projects/gnoga/">gnoga</a> - The
GNU Omnificent GUI for Ada.</li>
<li><a href="https://github.com/zertovitch/gwindows">gwindows</a> - GNU
Ada Visual Interface.</li>
<li><a
href="http://www.rrsoftware.com/html/prodinf/claw/claw.htm">claw</a> -
CLAW, a High Level, Portable, Ada 95 Binding for Microsoft Windows.</li>
<li><a href="https://github.com/AdaCore/gtkada">gtkada</a> - Ada
graphical toolkit based on Gtk3 components.</li>
<li><a
href="https://r3fowwcolhrzycn2yzlzzw.on.drv.tw/AdaStudio/qt6ada/qt6ada.html">qt-ada</a>
- Ada-2012 port to Qt 6 framework.</li>
<li><a
href="https://r3fowwcolhrzycn2yzlzzw.on.drv.tw/AdaStudio/vtkada/vtkada.html">vtk-ada</a>
- Ada-2012 port to VTK 8.1 (Visualization Toolkit).</li>
<li><a href="http://jedbarber.id.au/fltkada.xhtml">fltk-ada</a> -
Ada-2012 binding to FLTK (Fast Light Toolkit).</li>
<li><a href="https://github.com/jrcarter/Ada_GUI">ada-gui</a> - GUI
implemented on its own task, so it doesnt require that its client give
up a thread of control. Derived from <a
href="https://sourceforge.net/projects/gnoga/">gnoga</a>.</li>
<li><a href="https://github.com/godunko/adawebui">adawebui</a> - GUI
based on <a
href="https://github.com/godunko/adawebpack">adawebpack</a>.</li>
<li><a href="https://github.com/Cre8or/ImGui-Ada">imgui-ada</a> - Ada
binding of the ImGui library.</li>
<li><a
href="https://github.com/ada-game-framework/anuklear">anuklear</a> - Ada
binding to the Nuklear GUI library and the Nuklear-SDL renderer.</li>
</ul>
<h3 id="terminal-user-interface">Terminal User Interface</h3>
<ul>
<li><a href="https://github.com/annexi-strayline/Curses">curses</a> -
Advanced UNIX Terminal UI Ada Binding Package.</li>
<li><a
href="https://invisible-island.net/ncurses/ncurses-Ada95.html">ncurses-ada95</a>
- Ada95 bindings for ncurses.</li>
<li><a href="https://git.sr.ht/~nytpu/linenoise-ada">linenoise-ada</a> -
Bindings to the Linenoise line-editing library (patched to support
UTF-8).</li>
<li><a href="https://github.com/samueltardieu/areadline">areadline</a> -
Ada binding to the readline library.</li>
</ul>
<h3 id="d">3D</h3>
<ul>
<li><a href="https://github.com/zertovitch/globe-3d">globe-3d</a> - GL
Object Based Engine for 3D.</li>
<li><a href="https://github.com/zertovitch/engine-3d">engine-3d</a> - A
3D engine for DOS-talgics.</li>
<li><a href="https://github.com/JulianSchutsch/AdaOGL">ada-ogl</a> - Ada
OpenGL Framework.</li>
<li><a href="https://github.com/AdaDoom3/AdaDoom3">ada-doom-3</a> - Id
Softwares Id-tech-4-BFG in the Ada programming language.</li>
</ul>
<h3 id="database">Database</h3>
<ul>
<li><a href="https://github.com/stcarrez/ada-ado">ada-ado</a> - 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.</li>
<li><a href="https://github.com/jrmarino/AdaBase">ada-base</a> - Thick
database bindings to MySQL, PostgreSQL and SQLite for Ada.</li>
<li><a href="https://github.com/ada-apq/apq/">apq-base</a> - APQ is a
database interface library written in Ada95.</li>
</ul>
<h3 id="web">Web</h3>
<ul>
<li><a href="https://github.com/AdaCore/aws">aws</a> - AWS is a complete
framework to develop Web based applications in Ada.</li>
<li><a href="https://github.com/stcarrez/ada-awa">awa</a> - 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.
<ul>
<li><a href="https://github.com/stcarrez/dynamo">dynamo</a> - Code
generator used to generate an Ada Web Application or database mappings
from hibernate-like XML description, YAML doctrine model or UML
models.</li>
<li><a href="https://github.com/stcarrez/ada-wiki">ada-wiki</a> - Ada
Wiki is a small library that provides a Wiki engine.</li>
<li><a href="https://github.com/stcarrez/ada-security">ada-security</a>
- OAuth 2.0 client and server framework to secure web applications.</li>
<li><a href="https://github.com/stcarrez/ada-el">ada-el</a> - This
library provides the support for a simple Expression Language close to
the Java Unified Expression Language (EL).</li>
<li><a href="https://github.com/stcarrez/ada-asf">ada-asf</a> - 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).</li>
<li><a href="https://github.com/stcarrez/ada-servlet">ada-servlet</a> -
Ada Servlet allows to create web applications using the same pattern as
the Java Servlet (See JSR 154, JSR 315).</li>
</ul></li>
<li><a href="https://github.com/stcarrez/swagger-ada">swagger-ada</a> -
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.</li>
<li><a href="https://github.com/simonjwright/ews">ews</a> - Embedded Web
Server is a web server construction kit, designed for embedded
applications using the GNAT Ada compiler.</li>
<li><a href="https://github.com/godunko/matreshka">matreshka</a> -
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.</li>
</ul>
<h3 id="unit-test-testing">Unit Test, Testing</h3>
<ul>
<li><a href="http://ahven.stronglytyped.org/">ahven</a> - 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.</li>
<li><a href="https://github.com/AdaCore/aunit">aunit</a> - Ada unit
testing framework.</li>
<li><a href="https://github.com/LionelDraghi/bbt">bbt</a> - Simple tool
to black box check the behavior of an executable through the command
line.</li>
<li><a href="https://github.com/briot/gnatbdd">gnatbdd</a> - Behavior
Driven Development in Ada.</li>
<li><a
href="https://github.com/simonjwright/scripted_testing">scripted-testing</a>
- Supports functional testing using Tcl scripts.</li>
</ul>
<h3 id="logging">Logging</h3>
<ul>
<li><a href="https://www.codelabs.ch/alog/">alog</a> - Alog is a
stackable logging framework for Ada.</li>
<li><a href="https://github.com/kevlar700/elogs">elogs</a> - Logging
framework for embedded systems absent of runtime errors.</li>
</ul>
<h3 id="machine-learning">Machine Learning</h3>
<ul>
<li><a href="https://sourceforge.net/projects/fuzzyml/">fuzzyml</a> -
Fuzzy machine learning framework.</li>
</ul>
<h3 id="automation">Automation</h3>
<ul>
<li><a href="http://www.dmitry-kazakov.de/ada/aicwl.htm">aicwl</a> -
Collection of packages provided for design of high-quality industrial
control widgets for Ada applications.</li>
<li><a
href="https://gitlab.com/ada-for-automation/ada-for-automation">ada-for-automation</a>
- A4A is a framework for designing industrial automation applications
using the Ada language.</li>
</ul>
<h2 id="tools">Tools</h2>
<h3 id="devops">DevOps</h3>
<ul>
<li><a href="https://github.com/pyjarrett/septum">septum</a> - An
interactive context-based text search tool for searching large
codebases.</li>
<li><a href="https://github.com/joular/powerjoular">powerjoular</a> -
PowerJoular allows monitoring power consumption of multiple platforms
and processes.</li>
<li><a href="https://github.com/stcarrez/mat">mat</a> - MAT is a simple
memory analysis tool intended to help understand where the memory is
used in a program.</li>
</ul>
<h3 id="verification">Verification</h3>
<ul>
<li><a href="https://github.com/AdaCore/gnatcoverage">gnat-coverage</a>
- GNATcoverage is a tool to analyze and report program coverage.</li>
<li><a href="https://www.adalog.fr/en/adacontrol.html">adacontrol</a> -
Ada constructs lint tool.</li>
<li><a href="https://github.com/AdaCore/spark2014/">spark-2014</a> -
SPARK formal verification toolset.</li>
<li><a href="https://github.com/simonjwright/ACATS">acats</a> - The Ada
Conformity Assessment Test Suite, customised for GCC.</li>
<li><a
href="https://github.com/simonjwright/ACATS-grading">acats-grading</a> -
Tools for grading ACATS results, modified for Unix-like systems.</li>
</ul>
<h3 id="generation">Generation</h3>
<ul>
<li><a href="https://github.com/ttsiodras/asn1scc">asn1scc</a> -
ASN1SCC: An open source ASN.1 generator to Ada type declarations and
encoders/decoders.</li>
<li><a href="https://github.com/OpenAADL/ocarina">ocarina</a> - AADL
model processor: mappings to Ada code; Petri Nets; scheduling tools
(MAST, Cheddar); WCET; REAL.</li>
<li><a href="http://www.inspirel.com/fmt/">fmt</a> - Formal Methods
Toolkit is a set of extension packages for Mathematica, supporting
software. engineering activities related to modeling, verification and
Ada code generation.</li>
<li><a href="https://github.com/Blady-Com/Automate">automate</a> -
Finite-state machine generator.</li>
<li><a href="https://github.com/mosteo/ajunitgen">ajunitgen</a> -
Generator of JUnit-compatible XML reports in Ada.</li>
<li><a href="https://github.com/Componolit/RecordFlux">record-flux</a> -
RecordFlux: Toolset for the formal specification of messages and the
generation of verifiable binary parsers and message generators in
SPARK.</li>
<li><a
href="https://gitlab.com/stcarrez/resource-embedder">resource-embedder</a>
- Advanced Resource Embedder to embed files in binaries by producing C,
Ada or Go source files.</li>
</ul>
<h3 id="uml">UML</h3>
<ul>
<li><a href="https://github.com/rocher/AdaML">ada-ml</a> - Ada-tailored
UML Modeling Language.</li>
<li><a href="https://github.com/simonjwright/coldframe">coldframe</a> -
ColdFrame generates Ada framework code and documentation from UML
models.</li>
<li><a href="https://apps.kde.org/es/umbrello/">umbrello</a> - Unified
Modelling Language (UML) diagram program based on KDE Technology.
Outputs Ada.</li>
</ul>
<h3 id="encryption">Encryption</h3>
<ul>
<li><a href="https://github.com/stcarrez/ada-keystore">ada-keystore</a>
- Ada Keystore - protect your sensitive data with secure storage.</li>
</ul>
<h2 id="libraries">Libraries</h2>
<h3 id="math">Math</h3>
<ul>
<li><a
href="https://github.com/jscparker/math_packages">math-packages</a> -
Collection of basic math routines in Ada.</li>
<li><a href="https://github.com/zertovitch/mathpaqs">mathpaqs</a> -
Mathpaqs is a collection of mathematical, 100% portable, packages in the
Ada programming language.</li>
<li><a
href="https://github.com/mosteo/mandelbrot_ascii">mandelbrot-ascii</a> -
Mandelbrot renderer in “ASCII” (unicode actually, but text
nonetheless).</li>
<li><a href="https://github.com/jhumphry/LALG">lalg</a> - Interface to
dense linear algebra packages.</li>
<li><a href="https://github.com/pukpr/GeoEnergyMath">geo-energy-math</a>
- Software libraries for solving models described in Mathematical
GeoEnergy (Wiley, 2018).</li>
<li><a href="https://gitlab.com/mockturtle/matrix-root">matrix-root</a>
- Compute the N-th root of a matrix.</li>
<li><a href="https://github.com/mosteo/hungarian">hungarian</a> - Ada
binding to the fast Stachniss Hungarian solver.</li>
</ul>
<h3 id="science">Science</h3>
<ul>
<li><a
href="http://archive.adaic.com/tools/CKWG/Dimension/SI.html">si</a> - SI
units checked and unchecked.</li>
<li><a
href="http://www.dmitry-kazakov.de/ada/units.htm">units-of-measurement</a>
- Library to manage units of measurement with dimension checking.</li>
<li><a href="https://github.com/HeisenbugLtd/si_units">si_units</a> -
Utility library to pretty print physical values in proper metric
units.</li>
</ul>
<h3 id="algorithms-containers-and-protocols">Algorithms, Containers and
Protocols</h3>
<ul>
<li><a
href="https://github.com/AdaCore/ada_language_server">ada-language-server</a>
- Adacore server implemention of the the Microsoft Language Protocol for
Ada and SPARK.</li>
<li><a href="https://github.com/reznikmm/ada-lsp">ada-lsp</a> - Language
Server Protocol for Ada.</li>
<li><a
href="https://github.com/Alex-Gamper/Ada-LanguageServer">ada-lsp-client</a>
- Prototype implementation of LSP client - Visual Studio 2017.</li>
<li><a
href="https://github.com/AdaCore/ada-traits-containers">ada-traits-containers</a>
- Generic Ada Library for Algorithms and Containers.</li>
<li><a
href="https://sourceforge.net/projects/dequesterity/">dequesterity</a> -
Deque/buffer generics that consist of building blocks that may be
combined in various ways to create higher abstraction buffers.</li>
<li><a href="https://github.com/jrcarter/PragmARC">pragmarc</a> -
PragmAda Reusable Components (PragmARCs) from PragmAda S/W
Engineering.</li>
<li><a href="https://sourceforge.net/projects/booch95/">booch95</a> -
The Ada 95 Booch components are a port of Grady Boochs C++
components.</li>
<li><a href="https://github.com/anthony-arnold/AdaID">ada-id</a> -
Simple Ada library for generating UUIDs.</li>
<li><a href="https://github.com/frett27/Ada-GA">ada-ga</a> - Genetic
Algorithm Implementation for Ada.</li>
<li><a href="https://github.com/frett27/Ada-Sodoku">ada-sodoku</a> -
Small Library for Sodoku grid solving / finding.</li>
<li><a href="https://github.com/jklmnn/sl3p">sl3p</a> - Simple Layer 3
Protocol.</li>
<li><a
href="https://github.com/alire-project/smart_pointers">smart-pointers</a>
- A package providing a reference-counted access type
Smart_Pointer.</li>
<li><a
href="https://github.com/fastrgv/HungarianAlgorithm">hungarian-algorithm</a>
- Hungarian Algorithm implementation in Ada.</li>
<li><a href="https://www.stephe-leake.org/ada/sal.html">sal</a> - SAL
(Stephes Ada Library).</li>
<li><a href="https://github.com/andgi/NBAda">nb-ada</a> - NBAda : An Ada
library of lock-free data structures and algorithms.</li>
<li><a href="https://sourceforge.net/projects/paraffin/">paraffin</a> -
A suite of Ada 2012 generics to facilitate iterative and recursive
parallelism for multicore systems.</li>
<li><a href="https://sourceforge.net/projects/deepend/">deepend</a> -
Deepend is a storage pool with subpool capabilities for Ada 2012, Ada
2005, and Ada 95.</li>
<li><a
href="https://web.archive.org/web/20161207211935/https://home.earthlink.net/~matthewjheaney/charles/">charles</a>
- Charles is an Ada 95 container library, precursor to Ada 2005+
standard containers.</li>
<li><a
href="https://github.com/tomekw/simple_blockchain">simple-blockchain</a>
- Simple blockchain in Ada.</li>
<li><a href="https://github.com/mosteo/adagio">adagio</a> - Gnutella2
(G2) network server leaf.</li>
<li><a href="https://github.com/mosteo/agpl">agpl</a> - Ada General
Purpose Library (Miscellaneous utilities, with a robotic flavor).</li>
<li><a href="https://github.com/Componolit/AZ3">az3</a> - Ada binding
for Z3.</li>
<li><a href="https://github.com/JeremyGrosser/chests">chests</a> -
Chests are bounded containers.</li>
</ul>
<h3 id="cryptography">Cryptography</h3>
<ul>
<li><a href="https://github.com/jrcarter/Threefish">threefish</a> - Ada
Implementation of the Threefish-256 Encryption Algorithm.</li>
<li><a href="https://github.com/darkestkhan/fletcher">fletcher</a> -
Trivial implementation of fletcher_16 checksum computation
algorithm.</li>
<li><a
href="https://github.com/MichaelAllenHardeman/base58_ada">base58-ada</a>
- Base58 encoding and decoding in Ada.</li>
<li><a
href="https://github.com/cforler/Ada-Crypto-Library">ada-crypto-library</a>
- This is a crypto library for Ada with a nice API and is written for
the i386 and x86_64 hardware architecture.</li>
<li><a
href="https://github.com/Componolit/libsparkcrypto">libsparkcrypto</a> -
A cryptographic library implemented in SPARK.</li>
<li><a href="https://github.com/grim7reaper/SipHash">sip-hash</a> - A
pure Ada implementation of the SipHash PRF.</li>
<li><a href="https://github.com/damaki/libkeccak">libkeccak</a> - A
SPARK implementation of the Keccak family of sponge functions and
related constructions.</li>
<li><a href="https://github.com/jhumphry/Ascon_SPARK">ascon-spark</a> -
Ada/SPARK implementation of the Ascon Authenticated Encryption with
Additional Data Algorithm.</li>
<li><a
href="https://github.com/jhumphry/SPARK_SipHash">spark-sip-hash</a> -
Ada/SPARK implementation of the SipHash keyed hash function.</li>
<li><a href="https://github.com/jhumphry/SPARK_NORX">spark-norx</a> -
Ada/SPARK implementation of the NORX Authenticated Encryption with
Additional Data Algorithm.</li>
<li><a href="https://github.com/rod-chapman/SPARKNaCl">spark-nacl</a> -
SPARK 2014 re-implementation of the TweetNaCl crypto library.</li>
<li><a href="https://github.com/jklmnn/STOTP">stotp</a> - Timed
One-Time-Pad (RFC 6238) implementation in SPARK.</li>
<li><a href="https://github.com/lyarbean/xxhash-ada">xxhash-ada</a> -
Extremely fast non-cryptographic Hash algorithm, xxhash is working at
speeds close to RAM limits.</li>
<li><a
href="https://github.com/jrmarino/libsodium-ada">libsodium-ada</a> - A
secure cryptographic library (libsodium for Ada).</li>
<li><a
href="https://github.com/stcarrez/ada-libsecret">ada-libsecret</a> - Ada
Binding for the libsecret library.</li>
<li><a href="https://github.com/lkujaw/blake2s">blake2s</a> - SPARK83
implementation of the BLAKE2s hash function.</li>
</ul>
<h3 id="compression">Compression</h3>
<ul>
<li><a href="https://github.com/zertovitch/zip-ada">zip-ada</a> -
Zip-Ada is a programming library for dealing with the Zip compressed
archive file format.</li>
<li><a href="https://github.com/stcarrez/ada-lzma">ada-lzma</a> - Ada
binding for liblzma compression library.</li>
<li><a href="https://github.com/onox/dcf-ada">dcf-ada</a> - An Ada 2012
library for document container files (Based on <a
href="https://github.com/zertovitch/zip-ada">zip-ada</a>).</li>
</ul>
<h3 id="patterns">Patterns</h3>
<ul>
<li><a href="https://github.com/briot/Ada-promises">ada-promises</a> -
Implementing promises in Ada. Type-safe, efficient, thread-safe.</li>
<li><a
href="https://github.com/jhumphry/Reqrep_Task_Pools">reqrep-task-pools</a>
- Task pool system for jobs.</li>
<li><a href="https://github.com/mosteo/rxada">rxada</a> - An Ada 2012
implementation of the Rx methodology.</li>
</ul>
<h3 id="system-modeling">System Modeling</h3>
<ul>
<li><a href="https://github.com/briot/adafuzzy">ada-fuzzy</a> - A fuzzy
inference system library for Ada.</li>
<li><a href="https://github.com/sergio-gomez/Radalib">radalib</a> - Ada
library and tools for the analysis of Complex Networks and more.</li>
</ul>
<h3
id="parsers-scanners-linters-analysers-interpreters-and-prettyprinters">Parsers,
Scanners, Linters, Analysers, Interpreters and Prettyprinters</h3>
<ul>
<li><a href="https://github.com/AdaCore/libadalang/">libadalang</a> -
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).</li>
<li><a
href="https://blog.vacs.fr/vacs/blogs/post.html?post=2021/12/18/Aflex-1.5-and-Ayacc-1.3.0">aflex-ayacc</a>
- Ada scanner and parser generators.</li>
<li><a href="https://stephe-leake.org/ada/wisitoken.html">wisitoken</a>
- WisiToken is an LALR, LR1, and Packrat parser generator and
run-time.</li>
<li><a href="https://github.com/reznikmm/gela">gela</a> - Ada code
analyzer.</li>
<li><a href="https://github.com/reznikmm/anagram">anagram</a> - Grammar
handling and parser generation Ada library.</li>
<li><a href="https://github.com/reznikmm/ada-pretty">ada-pretty</a> -
Pretty printing library for Ada.</li>
<li><a href="https://github.com/reznikmm/increment">increment</a> -
Incremental analysis in Ada.</li>
<li><a href="https://github.com/jhumphry/parse_args">parse-args</a> -
Simple command-line argument parsing.</li>
<li><a href="https://github.com/samueltardieu/aforth">aforth</a> -
Embeddable Forth interpreter written in Ada.</li>
<li><a href="https://github.com/flyx/ParserTools">parser-tools</a> -
Tools for writing lexers / parsers in Ada.</li>
<li><a href="https://github.com/simonjwright/xia">xia</a> - An Ada
implementation of XPath 1.0.</li>
<li><a
href="https://github.com/BrentSeidel/Ada-Lisp-Embedded">ada-lisp-embedded</a>
- Embeddable Lisp interpreter.</li>
</ul>
<h3 id="format-readers-writers-and-checkers">Format Readers, Writers and
Checkers</h3>
<ul>
<li><a href="https://github.com/zertovitch/ini-files">ini-files</a> -
The Ini file manager consists of a package, Config, which can read and
modify informations from various configuration files known as “ini”
files.</li>
<li><a href="https://github.com/persan/protobuf-ada">protobuf-ada</a> -
Experimental Ada code generation support for Google Protocol
Buffers.</li>
<li><a href="https://github.com/reznikmm/protobuf">protobuf</a> - A
Google Protocol Buffers implementation in Ada, using <a
href="https://github.com/godunko/matreshka">matreshka</a>.</li>
<li><a href="https://github.com/yaml/AdaYaml">ada-yaml</a> -
Experimental YAML 1.3 implementation in Ada.</li>
<li><a href="https://github.com/onox/json-ada">json-ada</a> - An Ada
2012 library for parsing JSON.</li>
<li><a href="https://github.com/Componolit/jwx">jwx</a> - A formally
verified JSON library in SPARK.</li>
<li><a href="https://github.com/AdaCore/xmlada">xmlada</a> - The XML/Ada
toolkit.</li>
<li><a href="https://github.com/alire-project/xmlezout">xml-ez-out</a> -
Library for emitting XML from Ada programs.</li>
<li><a href="https://github.com/Componolit/SXML">spark-xml</a> - A
formally verified XML library in SPARK.</li>
<li><a
href="https://github.com/zertovitch/excel-writer">excel-writer</a> -
Create Excel files with basic formats.</li>
<li><a
href="https://github.com/zertovitch/gid">generic-image-decoder</a> -
Multi-format image decoder library for Ada.</li>
<li><a
href="https://github.com/zertovitch/ada-pdf-writer">ada-pdf-writer</a> -
Ada package for producing easily and automatically PDF files, from an
Ada program, with text, vector graphics, images (JPEG).</li>
<li><a href="https://github.com/frett27/Ada-Midi">ada-midi</a> -
Implementation of Midi / MidiFile reading and writing.</li>
<li><a
href="https://github.com/zertovitch/ada-bar-codes">ada-bar-codes</a> -
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.</li>
<li><a href="https://github.com/jhumphry/Ada_BinToAsc">ada-bin2asc</a> -
Various binary-to-ASCII codecs such as Base64.</li>
<li><a href="https://github.com/gerr135/abf_io">abf-io</a> - A library
of access routines to Axons ABF file format (electrophysiology, most
common) in Ada.</li>
<li><a href="https://github.com/pmderodat/ada-toml">ada-toml</a> - TOML
parser for Ada.</li>
<li><a href="https://git.sr.ht/~nytpu/uri-ada">uri-ada</a> - URI and
MIME parser &amp; manipulation library.</li>
<li><a href="https://gitlab.com/stcarrez/ada-libmagic">ada-libmagic</a>
- Magic Number Recognition Library Ada binding (libmagic (3)).</li>
</ul>
<h3 id="networking-and-communication-middleware">Networking and
Communication Middleware</h3>
<ul>
<li><a href="https://www.codelabs.ch/anet/">anet</a> - Anet is a
networking library for the Ada programming language.</li>
<li><a href="https://codelabs.ch/adhcp/index.html">adhcp</a> - ADHCP is
an implementation of the DHCP protocol in Ada.</li>
<li><a href="https://github.com/samueltardieu/adasockets">adasockets</a>
- IPv4 socket library (TCP, UDP, and multicast).</li>
<li><a href="https://codelabs.ch/dbus-ada/index.html">dbus-ada</a> - The
D_Bus/Ada library provides an Ada binding to the D-Bus message bus
system.</li>
<li><a href="https://github.com/persan/zeromq-Ada.git">zeromq-ada</a> -
Binding to the ZeroMQ comunications-library.</li>
<li><a href="https://sourceforge.net/projects/tomi4ada">tomi-4-ada</a> -
Wrappers for various client/server and pub/sub messaging protocols
(AMQP, STOMP and ZeroMQ), focusing exclusively on text message
communications.</li>
<li><a href="https://github.com/persan/mosquitto-ada">mosquitto-ada</a>
- Binding for the MQTT broker Mosquitto.</li>
<li><a href="https://git.sr.ht/~nytpu/tlsada">tlsada</a> - Bindings to
the libtls TLS/SSL library.</li>
<li><a
href="https://github.com/Latence-Technologies/Kafka-Ada">kafka-ada</a> -
Binding for the C librdkafka library, allows sending and receiving from
a Kafka bus.</li>
<li><a
href="https://gitlab.com/daresoft/network/adare_net">adare-net</a> -
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.</li>
<li><a href="https://www.codelabs.ch/pcscada">pcsc-ada</a> - 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.</li>
</ul>
<h3 id="chatting-and-communication">Chatting and Communication</h3>
<ul>
<li><a href="https://github.com/coopht/axmpp">axmpp</a> - With the AXMPP
library you can connect to a Jabber server to send and receive
messages.</li>
<li><a href="https://github.com/onox/weechat-ada">weechat-ada</a> - Ada
2012 library for WeeChat plug-ins.</li>
<li><a
href="https://github.com/onox/weechat-canberra">weechat-canberra</a> - A
WeeChat plug-in written in Ada 2012 that plays sounds using
Canberra.</li>
<li><a href="https://github.com/onox/weechat-emoji">weechat-emoji</a> -
A WeeChat plug-in written in Ada 2012 that displays emoji.</li>
</ul>
<h3 id="web-1">Web</h3>
<ul>
<li><a
href="https://github.com/AdaCore/templates-parser">template-parser</a> -
AWS templates engine.</li>
</ul>
<h3 id="graphics-and-multimedia">Graphics and Multimedia</h3>
<ul>
<li><a href="https://github.com/flyx/OpenGLAda">opengl-ada</a> - Thick
Ada binding for OpenGL and GLFW.</li>
<li><a href="https://github.com/godunko/adagl">adagl</a> - Multiplatform
Ada/OpenGL bindings (ported to native/OpenGL, A2JS/WebGL and
WASM/WebGL).</li>
<li><a href="https://github.com/Lucretia/sdlada">sdlada</a> - Ada 2012
bindings to SDL 2.</li>
<li><a href="https://github.com/raph-amiard/ada-nanovg">ada-nanovg</a> -
Ada bindings to NanoVG.</li>
<li><a href="https://github.com/flyx/FreeTypeAda">free-type-ada</a> -
FreeType binding for Ada 2005.</li>
<li><a href="https://github.com/mgrojo/ASFML">asfml</a> - Ada binding to
the Simple and Fast Multimedia Library.</li>
<li><a href="https://sourceforge.net/projects/plplot/">plplot</a> -
Cross-platform, scientific graphics plotting library, including an Ada
binding.</li>
<li><a href="https://phasercat.com/vulkada/">vulkada</a> - A complete
Vulkan 1.1 thick binding for Ada 2012.</li>
</ul>
<h3 id="general-purpose-computing">General Purpose Computing</h3>
<ul>
<li><a href="https://github.com/AdaCore/cuda">cuda</a> - CUDA support
from AdaCore.</li>
<li><a href="https://codelabs.ch/cuda-ada/index.html">cuda-ada</a> -
CUDA/Ada is an Ada binding to NVIDIAs CUDA parallel computing platform
and programming model.</li>
<li><a href="https://github.com/flyx/OpenCLAda">opencl-ada</a> - An Ada
binding for the OpenCL host API.</li>
<li><a href="https://github.com/ytomino/boehmgc-ada">boehmgc-ada</a> -
Ada binding to the Boehm-Demers-Weiser conservative garbage
collector.</li>
<li><a href="https://github.com/stcarrez/ada-bfd">ada-bfd</a> - An Ada
binding for the GNU Binutils BFD library. It allows to read binary ELF,
COFF files by using the GNU BFD.</li>
</ul>
<h3 id="sound">Sound</h3>
<ul>
<li><a href="https://github.com/onox/opus-ada">opus-ada</a> - Ada 2012
bindings for the Opus audio codec.</li>
<li><a href="https://github.com/onox/canberra-ada">canberra-ada</a> -
Ada 2012 bindings for libcanberra, an implementation of the XDG Sound
Theme and Name Specifications.</li>
<li><a href="https://github.com/raph-amiard/ada-soundio">ada-soundio</a>
- Ada bindings for libsoundio.</li>
<li><a href="https://github.com/darkestkhan/oto">oto</a> - Ada binding
to OpenAL which tries to mimic original API while using Ada types.</li>
<li><a
href="https://github.com/io7m/coreland-openal-ada">coreland-openal-ada</a>
- Ada binding to OpenAL.</li>
<li><a
href="https://github.com/frett27/Ada-Synthetizer">ada-synthetizer</a> -
Sound Synthetizer Library implemented in Ada.</li>
<li><a href="https://www.huygens-fokker.org/scala">scala</a> - 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.</li>
<li><a
href="https://github.com/fastrgv/portable-openal-sound">portable-openal-sound</a>
- A linux-sound-playing package for Ada apps that can asynchronously
start and stop music loops, as well as initiate transient sounds.</li>
<li><a href="https://phasercat.com/adaogg/">adaogg</a> - Complete thin
interface layer that brings the Ogg, Vorbis, and Theora libraries to the
Ada 2012 programming language.</li>
</ul>
<h3 id="localization">Localization</h3>
<ul>
<li><a href="https://sourceforge.net/projects/zanyblue/">zanyblue</a> -
An Ada package allowing the externalization of application messages into
a properties file.</li>
<li><a href="https://gitlab.com/stcarrez/ada-intl">ada-intl</a> - NLS
thin Ada binding (gettext (3), textdomain (3), bindtextdomain (3)).</li>
</ul>
<h3 id="utilities">Utilities</h3>
<ul>
<li><a
href="https://github.com/jhumphry/auto_counters">auto-counters</a> -
Reference counting approaches to resource management.</li>
<li><a
href="https://github.com/persan/a-stream-tools.git">a-stream-tools</a> -
Stream utilities for Ada2005 and 2012.</li>
<li><a href="https://github.com/persan/ssprep.git">ssprep</a> - An
extensible template engine akin to jinja but using <a
href="https://github.com/AdaCore/templates-parser">template-parser</a>
and intended for command line usage.</li>
<li><a href="https://github.com/mosteo/licensing">licensing</a> - Open
Source Licenses library for Ada.</li>
<li><a
href="https://github.com/alire-project/simple_logging">simple-logging</a>
- Easy to use logging facilities for output to console in Ada
programs.</li>
<li><a href="https://github.com/mosteo/rsfile">rsfile</a> - Command-line
utility that picks a file from a folder hierarchy with probability
proportional to its size.</li>
<li><a href="https://github.com/mosteo/cstrings">cstrings</a> -
Convenience subprograms to interact with C strings.</li>
<li><a href="https://github.com/reznikmm/cvsweb2git">cvsweb2git</a> -
Tool to imports CVS repository shared on Ada Conformity Assessment
Authority into the Git repository.</li>
<li><a href="https://github.com/flyx/ada-bundler">ada-bundler</a> -
Library and tool for transparently handling data and configuration file
access in an Ada application. Supports macOS, Linux and Windows.</li>
<li><a
href="https://github.com/simonjwright/macos-sdks-vs-gcc">macos-sdks-vs-gcc</a>
- Provides GCC specs files to cope with SDK policy changes.</li>
<li><a href="https://github.com/Blady-Com/UXStrings">ux-strings</a> -
Unicode extended strings.</li>
<li><a href="https://git.sr.ht/~nytpu/getopt-ada">getopt-ada</a> -
Portable implementation of getopt(3) in Ada.</li>
</ul>
<h3 id="robotics">Robotics</h3>
<ul>
<li><a href="https://github.com/ada-ros/rclada">rclada</a> - Ada client
library for ROS2/RCL.</li>
<li><a href="https://github.com/mosteo/player-ada">player-ada</a> - Ada
bindings for the player robotic platform.</li>
</ul>
<h3 id="linux-and-posix">Linux and POSIX</h3>
<ul>
<li><a href="https://www.cs.fsu.edu/~baker/florist.html">florist</a> -
POSIX Ada binding, IEEE Standards 1003.5(b,c).</li>
<li><a href="https://github.com/AdaCore/wposix">wposix</a> - Ada Windows
POSIX binding.</li>
<li><a href="https://github.com/frett27/AdaV4L2">ada-v4l2</a> - Ada
Posix Binding to Video 4 Linux, used for RPI.</li>
<li><a href="https://github.com/onox/inotify-ada">inotify-ada</a> - An
Ada 2012 library for monitoring filesystem events using Linux inotify
API.</li>
<li><a href="https://github.com/mosteo/dl-ada">dl-ada</a> - Minimal
binding to libdl.</li>
<li><a href="https://gitlab.com/mockturtle/suid-helper">suid-helper</a>
- Small Ada library that helps in writing safer suid programs.</li>
</ul>
<h3 id="windows-and-.net">Windows and .NET</h3>
<ul>
<li><a href="https://github.com/AdaCore/win32ada">win32ada</a> - Ada API
to the Windows library.</li>
<li><a
href="https://github.com/Alex-Gamper/Ada-NetFramework">ada-net-framework</a>
- Ada bindings to the Microsoft NetFramework Api.</li>
<li><a href="https://github.com/Alex-Gamper/Ada-WinRT">ada-winrt</a> -
Ada bindings for the Microsft WinRT Api.</li>
<li><a href="https://github.com/Alex-Gamper/Ada-Win32">ada-win32</a> -
Ada bindings for the Microsoft Win32 Api.</li>
</ul>
<h3 id="bindings-to-other-languages">Bindings to Other Languages</h3>
<ul>
<li><a
href="https://github.com/simonjwright/tcladashell">tcl-ada-shell</a> -
Tcl Ada SHell (Tash) is an Ada binding to Tcl/Tk.</li>
<li><a href="https://github.com/thindil/tashy">tashy</a> - Tashy is
short from Tcl Ada SHell Younger. It is derivate of Tash, focused mostly
on Tk binding.</li>
<li><a href="https://github.com/thindil/tashy2">tashy2</a> - 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.</li>
<li><a href="https://github.com/AdaCore/ada-lua">ada-lua</a> - Ada
binding for Lua.</li>
<li><a
href="https://github.com/io7m/coreland-lua-ada">coreland-lua-ada</a> -
Ada bindings to the Lua language.</li>
</ul>
<h2 id="hardware-and-embedded">Hardware and Embedded</h2>
<h3 id="frameworks-1">Frameworks</h3>
<ul>
<li><a href="https://github.com/gabriele-galeotti/SweetAda">SweetAda</a>
- A lightweight development framework whose purpose is the
implementation of Ada-based software systems. It supports a plethora or
CPU architectures and development boards.</li>
<li><a
href="https://github.com/AdaCore/Robotics_with_Ada">robotics-with-ada</a>
- Robotics with Ada, ARM, and Lego.</li>
<li><a href="https://github.com/lasp/adamant">adamant</a> - A
component-based, model-driven framework for constructing reliable and
reusable real-time software.</li>
<li><a href="https://github.com/coreboot/libgfxinit">libgfxinit</a> - A
graphics initialization (aka modesetting) library for embedded
environments, implemented in SPARK.</li>
</ul>
<h3 id="firmwares">Firmwares</h3>
<ul>
<li><a href="https://github.com/AdaCore/Certyflie">certiflie</a> -
Source code for the full Ada + SPARK Crazyflie 2.0 firmware.</li>
</ul>
<h3 id="drivers">Drivers</h3>
<ul>
<li><a
href="https://github.com/AdaCore/Ada_Drivers_Library">ada-drivers-library</a>
- Ada drivers for various MCU and sensors.</li>
<li><a href="https://github.com/it-cosmos/emBRICK">em-brick</a> -
emBRICK driver and support for emBRICK in Ada.</li>
<li><a href="https://github.com/damaki/DW1000">dw1000</a> - Ada/SPARK
driver for the DecaWave DW1000 ultra-wideband (UWB) radio chip.</li>
<li><a href="https://github.com/damaki/EVB1000">evb1000</a> - Ada/SPARK
drivers to control the on-board peripherals of the DecaWave EVB1000
evaluation board.</li>
<li><a
href="https://github.com/simonjwright/multiplexed-io">multiplexed-io</a>
- 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.</li>
</ul>
<h3 id="controllers">Controllers</h3>
<ul>
<li><a
href="https://github.com/Fabien-Chouteau/solenoid-engine-controller">solenoid-engine-controller</a>
- Software controller for solenoid engines (Ada/STM32F4).</li>
</ul>
<h3 id="communication">Communication</h3>
<ul>
<li><a
href="https://github.com/morbos/STM32/tree/master/L/L476/sensortile">sensortile</a>
- This project shows how to initialize a SensorTile and how to send
sensor data over BLE from a SensorTile to a suitable host.</li>
<li><a href="https://github.com/stcarrez/ada-enet">ada-enet</a> -
Embedded network stack (Ethernet driver, IPv4, UDP, DNS, DHCP, NTP) for
STM32F746 or STM32F769.</li>
</ul>
<h3 id="libraries-1">Libraries</h3>
<ul>
<li><a href="https://github.com/Fabien-Chouteau/Giza">giza</a> - Giza is
trying to be a simple widget tool kit for embedded platforms.</li>
<li><a
href="https://github.com/raph-amiard/ada-synth-lib">ada-synth-lib</a> -
Simple audio synthesis library that can run on bareboard devices.</li>
<li><a href="https://github.com/Fabien-Chouteau/GESTE">geste</a> - GESTE
is a sprite and tile 2D render engine designed to run on
micro-controllers.</li>
<li><a href="https://github.com/mosteo/sancta">sancta</a> - SANCTA
multi-robot task allocation library.</li>
<li><a href="https://github.com/stcarrez/stm32-ui">stm32-ui</a> - STM32
UI library and tools (graphs, images, 12 hour clock).</li>
<li><a href="https://github.com/Fabien-Chouteau/Ada_Time">ada-time</a> -
Ada binding for the Pebble Time smartwatch.</li>
<li><a href="https://github.com/jklmnn/wiringPi-Ada">wiring-pi-ada</a> -
Ada bindings for wiringPi.</li>
</ul>
<h3 id="applications">Applications</h3>
<ul>
<li><a
href="https://github.com/Fabien-Chouteau/coffee-clock">coffee-clock</a>
- Waking up with a fresh cup of coffee.</li>
<li><a
href="https://github.com/Fabien-Chouteau/noise-nugget">noise-nugget</a>
- Square Inch Synthesizer.</li>
<li><a
href="https://github.com/Fabien-Chouteau/spark-railway-demo">spark-railway-demo</a>
- Simulated railway network in SPARK/Ada.</li>
<li><a href="https://github.com/jklmnn/MicroTemPi">micro-tem-pi</a> -
Raspberry Pi using a BBC Micro:Bit as temperature sensor.</li>
<li><a
href="https://github.com/Fabien-Chouteau/Wee-Noise-Maker">wee-noise-maker</a>
- Wee Noise Maker is an open source pocket synthesizer.</li>
<li><a
href="https://github.com/AdaCore/Lunar_Lander_Rotation_Demo">lunar-lander-rotation</a>
- Program that interacts with the AdaFruit BNO055 breakout board in
order to send orientation data to a host computer.</li>
<li><a
href="https://github.com/AdaCore/SPARK_Railway_Simulation_Demo">railway-simulation</a>
- Program simulating a railway network with trains, switches and
signaling. The signaling system is proven with SPARK/Ada to ensure that
trains cannot collide.</li>
<li><a href="https://github.com/stcarrez/etherscope">etherscope</a> -
Ethernet traffic monitor on a STM32F746 board.</li>
</ul>
<h3 id="generators">Generators</h3>
<ul>
<li><a href="https://github.com/AdaCore/svd2ada">svd2ada</a> - An Ada
binding generator from SVD descriptions for bare board ARM devices.</li>
</ul>
<h2 id="applications-1">Applications</h2>
<h3 id="office">Office</h3>
<ul>
<li><a href="https://github.com/zertovitch/azip">azip</a> - A free,
portable Zip Archive Manager.</li>
<li><a href="https://github.com/zertovitch/texcad">texcad</a> - TeXCAD
is a program for drawing or retouching {picture}s in LaTeX.</li>
<li><a href="https://github.com/zertovitch/cbsg">cbsg</a> - The
Corporate Bullshit Generator.</li>
<li><a href="https://github.com/thindil/hunter">hunter</a> - Graphical
(<a href="https://github.com/AdaCore/gtkada">gtkada</a>) file manager
for Linux.</li>
</ul>
<h3 id="mail">Mail</h3>
<ul>
<li><a
href="http://www.rrsoftware.com/html/prodinf/tf/tf-main.html">trash-finder</a>
- 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.</li>
</ul>
<h3 id="web-2">Web</h3>
<ul>
<li><a href="https://ironsides.martincarlisle.com">ironsides</a> -
Authoritative DNS server verified by SPARK/Ada.</li>
<li><a href="https://github.com/zertovitch/wasabee">wasabee</a> - A Web
browser with safety focus.</li>
<li><a
href="https://github.com/yet-another-static-site-generator/yass">yass</a>
- Yet Another Static Site Generator (like Jekyll or Hugo).</li>
</ul>
<h3 id="multimedia">Multimedia</h3>
<ul>
<li><a href="https://github.com/AdaDoom3/Ada3DS">ada-3ds</a> - A simple
3DS Max model renderer.</li>
<li><a href="https://sourceforge.net/projects/canta/">canta</a> - A tool
to help to sing in tune.</li>
</ul>
<h3 id="automation-1">Automation</h3>
<ul>
<li><a href="https://github.com/Fabien-Chouteau/ACNC">acnc</a> - A
G-code parser and CNC controller (in Ada).</li>
<li><a
href="https://sourceforge.net/projects/max-home-automation/">max-home-automation</a>
- <a href="https://github.com/AdaCore/gtkada">gtkada</a> application to
manage ELV/eQ-3 MAX! cubes for home automation.</li>
<li><a href="https://www.ada4automation.org/">ada4automation</a> - A
framework for designing industrial automation applications using the Ada
language.</li>
</ul>
<h3 id="simulation">Simulation</h3>
<ul>
<li><a
href="https://github.com/Fabien-Chouteau/eagle-lander">eagle-lander</a>
- Apollo 11 lunar lander simulator (<a
href="https://github.com/AdaCore/gtkada">gtkada</a>/Cairo).</li>
<li><a href="https://github.com/ghdl/ghdl">ghdl</a> - VHDL 2008/93/87
simulator.</li>
<li><a
href="https://github.com/JulianSchutsch/ParallelSim">parallel-sim</a> -
Distributed Simulation of Transport Networks.</li>
<li><a
href="https://github.com/ohenley/COVID-19_Simulator">covid-19-simulator</a>
- Multi engine/algorithms COVID-19 simulator. Ada, Qt code under the
hood.</li>
<li><a href="https://github.com/Jellix/mars_mpl">mars-mpl</a> - Mars
Polar Lander (Crash) Simulator (<a
href="https://github.com/AdaCore/gtkada">gtkada</a>, <a
href="http://www.dmitry-kazakov.de/ada/aicwl.htm">aicwl</a>).</li>
<li><a
href="https://github.com/moriyasum/GtkAda_OpenAL_Doppler_Effect_Sample2">doppler-effect-sample2</a>
- Moving airplane causes Stereo Sound Doppler effect (<a
href="https://github.com/AdaCore/gtkada">gtkada</a>).</li>
</ul>
<h3 id="generators-and-translators">Generators and Translators</h3>
<ul>
<li><a
href="http://home.datacomm.ch/t_wolf/tw/ada95/adabrowse">adabrowse</a> -
HTML generator for Ada95 library unit specs.</li>
<li><a
href="https://github.com/zertovitch/pascal-to-ada">pascal-to-ada</a> - A
Pascal to Ada translator.
<ul>
<li><a
href="https://github.com/Blady-Com/tp7ada-gtkada">tp7-ada-gtkada</a> -
Implementation of Turbo Pascal 7.0 units with <a
href="https://github.com/AdaCore/gtkada">gtkada</a>.</li>
<li><a
href="https://github.com/Blady-Com/tp7ada-gnoga">tp7-ada-gnoga</a> -
Implementation of Turbo Pascal 7.0 units with <a
href="https://sourceforge.net/projects/gnoga/">gnoga</a>.</li>
</ul></li>
<li><a
href="https://github.com/Fabien-Chouteau/tiled-code-gen">tiled-code-gen</a>
- Code generator for Tiled the map editor.</li>
<li><a href="https://github.com/Blady-Com/j2ada">j2ada</a> - Translator
for a Java valid source code in Ada source code.</li>
<li><a href="https://www.mapusoft.com/ada-to-c-changer/">ada-magic</a> -
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.</li>
<li><a href="https://github.com/Componolit/Cappulada">cappulada</a> -
Ada binding generator for C++.</li>
<li><a href="https://github.com/simonjwright/asis2xml">asis2xml</a> -
Converts Ada sources ASIS representation to XML, so as to make it
easier to develop reporting and transformational tools using (for
example) XSLT.</li>
<li><a href="https://github.com/fdesp87/winforms2gtk">winforms2gtk</a> -
Helper conversor of Visual Basic Microsoft Windows Forms applications to
Gtk and Ada.</li>
</ul>
<h3 id="shells-interpreters-and-emulators">Shells, Interpreters and
Emulators</h3>
<ul>
<li><a href="https://sparforte.com/">sparforte</a> - SPARforte
programming language is an Ada-like scripting language, previously known
as business user shell (bush). Can be used as interactive UNIX shell
replacement.</li>
<li><a href="https://github.com/AdaCore/gsh">gsh</a> - GSH is non
interactive POSIX shell for Windows, aimed at GNU software builds. 2-3
times faster than Cygwin.</li>
<li><a
href="https://github.com/simonjwright/analytical-engine">analytical-engine</a>
- An Ada 2012 emulation of Charles Babbages Analytical Engine.</li>
<li><a href="https://github.com/charlie5/aShell">a-shell</a> - A
component to aid in writing shell-like applications in Ada.</li>
<li><a href="https://github.com/SMerrony/dashera">dashera</a> - Data
General DASHER terminal emulator using <a
href="https://github.com/AdaCore/gtkada">gtkada</a>.</li>
<li><a href="https://github.com/docandrew/YOTROC">yotroc</a> -
Assembler/Emulator for a fictional CPU architecture. IDE implemented in
<a href="https://github.com/AdaCore/gtkada">gtkada</a>.</li>
</ul>
<h3 id="programming-languages">Programming Languages</h3>
<ul>
<li><a href="http://parasail-lang.org/">para-sail</a> - 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.</li>
</ul>
<h3 id="misc">Misc</h3>
<ul>
<li><a href="https://github.com/simonjwright/dhondt">dhondt</a> - Ada
implementation of DHondt electoral result calculator.</li>
<li><a
href="https://github.com/mk270/whitakers-words">whitakers-words</a> -
William Whitakers WORDS, a Latin dictionary.</li>
<li><a href="https://github.com/adachess/AdaChess">ada-chess</a> - Chess
engine written in Ada.</li>
<li><a href="https://github.com/atalii/adage">adage</a> - An Ada/SPARK
alternative to sudo and doas.</li>
</ul>
<p><a href="https://github.com/ohenley/awesome-ada">ada.md
Github</a></p>