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 4 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.
- ada-magic - SofCheck AdaMagic is ACATS validated and certified Ada compiler targeting C and/or C++ (4 command line switches for fine tuning). ObjectAda and several other commercial compilers share engine with AdaMagic. MapuSoft distributes AdaMagic as integral component of AppCOE.
- adabrowse - HTML generator for Ada95 library unit specs.
- 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.
- 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
-
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.
- 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
-
-
Bindings
-
Misc
- pcsc-ada - PCSC/Ada provides a thick Ada binding to PC/SC-middleware. The library allows programs written in Ada to communicate with smart cards using the SCard API.
-
-
Community
-
Competition
- crate-of-the-year - Yearly prize for the best Alire crate in three categories: general, SPARK and embedded.
-
News and Resources
- adacore-blog - An insight into the AdaCore ecosystem.
- ada-europe - An international organization, set up to promote the use of Ada.
- acm-sig-ada - The Special Interest Group on Ada.
- ada-resource-association - Since 1990 the Ada Resource Association's principal mission has been “To ensure continued success of Ada users and promote Ada use in the software industry”.
- ada-information-clearinghouse - News and resources for the Ada programming language.
- ada-planet - News Aggregator from the Ada programming language world (v3) ([Ada-Planet v2 feed via Matrix][ada-planet-via-matrix]).
- adasearch - Custom search engines for finding anything related to the Ada and SPARK programming languages, without interference from other homonymous topics.
-
Questions and Answers
- comp-lang-ada - Ada Usenet newsgroup/forum.
- stack-overflow-ada-tag - Ada at Stack Overflow.
- subreddit-ada - Ada at Reddit.
- subreddit-spark - Spark at Reddit.
- telegram-ada - Ada group at Telegram.
- libera-chat-ada - Ada channel at IRC.
- matrix-ada - Ada room at Gitter via Matrix.
- ada-forum - Ada Forum at ada-lang.io.
- comp-lang-ada - Ada Usenet newsgroup/forum.
- hacker-news-ada - Ada at Hacker News.
- discord-ada - Ada Discord server.
-
-
Compilers
-
Commercial / Closed source
- janus-ada - Compiler supporting all the major features of the Ada 83, Ada 95, Ada 2005 and Ada 2012 versions of the language.
- object-ada - PTC ObjectAda is an extensive family of native and cross development tools and runtime environments.
- apex-ada - PTC ApexAda is one of the industry's most popular development environments for Ada and mixed Ada/C/C++ applications.
- greenhills-ada - Green Hills Software offers the industry's first, fully validated family of Ada Cross Compilers for real-time targets.
- xgc - XGC provide GCC-based bare-metal toolchains with Ada95 support for aerospace-specific targets such as MIL1750, ERC32 and LEON. As well as a legacy M68000 toolchain.
- 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
- tutorials-point-ada-compiler - Online compiler built on the CodingGround engine.
- jdoodle-ada-compiler - Online compiler that provides multiple versions of GNAT to test with.
- compiler-explorer - Run GNAT FSF compilers interactively from your web browser and interact with the assembly.
- 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
- gnat-ce - GNAT Community edition. A release of AdaCore GNAT for free software developers, hobbyists, and students. The run-time libraries provided with GNAT Community are licensed under GPLv3 without linking exception. It supports Ada 2012 only.
- fsf-gnat - Free Software Foundation compiler for the Ada programming language which forms part of the GNU Compiler Collection. It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83.
- hac - 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
- ada-visual - Ada language integration for Visual Studio 2017.
- The GNAT Programming Studio
-
Text Modes
- gnu-emacs-ada-mode - Gnu Emacs major-mode for editing Ada sources.
- bbedit-ada-module - BBEdit support for Ada.
- vim-ada-bundle - Maintained Ada Bundle : Complete Ada-Mode for Vim/Neovim.
- ada-tmbundle - TextMate support for Ada.
- 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
-
Books
- Programming in Ada 2012 with a Preview of Ada 2022 (2nd ed.) - Comprehensive.
- Programming in Ada 2012 - Comprehensive.
- Beginning Ada Programming: From Novice to Professional - Introduction.
- Ada 95: The Craft of Object-Oriented Programming - General, intermediate.
- Ada Plus Data Structures: An Object Oriented Approach - Data Structures.
- Ada for Software Engineers - Idioms, Architecture.
- Concurrent and Real-Time Programming in Ada - Concurrency, Containers, Scheduling.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Building Parallel, Embedded, and Real-Time Applications with Ada - Concurrency, Distributed.
- Analysable Real-Time Systems: Programmed in Ada - Scheduling.
- Building High Integrity Applications with SPARK - Formal verification.
- Ada and SPARK on ARM Cortex-M - Embedded.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
- Ada for Software Engineers - Idioms, Architecture.
- Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
-
Categories
Sub Categories
Books
272
Continuous Integration
41
Algorithms, Containers and Protocols
24
Format Readers, Writers and Checkers
20
Cryptography
16
Web
16
Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
14
Graphical User Interface
13
Generators and Translators
12
Utilities
12
Networking and Communication Middleware
12
Questions and Answers
11
Sound
10
Build and Package
10
Components
9
Graphics and Multimedia
9
Linux and POSIX
8
Applications
8
Generation
8
Online Books
8
Unit Test, Testing
7
Specialties
7
Libraries
7
News and Resources
7
Math
7
Text Modes
6
Commercial / Closed source
6
Shells, Interpreters and Emulators
6
Open source
6
Simulation
6
Science
5
Misc
5
Automation
5
Drivers
5
Bindings to Other Languages
5
Tutorials
5
Verification
5
General Purpose Computing
5
Terminal User Interface
4
Chatting and Communication
4
Online
4
Frameworks
4
Reference
4
Entry Point
4
3D
4
Windows and .NET
4
Office
4
Patterns
3
Compression
3
UML
3
VSCode Extensions
3
Database
3
Multimedia
3
DevOps
3
Mail
2
System Modeling
2
Communication
2
Robotics
2
Logging
2
Programming Languages
2
Localization
2
Integrated Development Editors
2
Encryption
1
Controllers
1
Machine Learning
1
Distributed
1
Commercial / Open source
1
Firmwares
1
Generators
1
Editors
1
Competition
1
Keywords
ada
109
ada-language
19
linux
10
game
9
ada-library
9
spark
8
windows
8
formal-verification
6
spark-ada
5
gtkada
5
gcc
5
security
4
tk
4
arm
4
gnat
4
weechat
3
weechat-plugin
3
puzzle
3
ada-binding
3
bindings
3
osdev
3
zip
3
embedded
3
tashy
3
formal-methods
3
opengl
3
Ada
3
compiler
3
library
3
3d
2
json
2
x86-64
2
syntax-analysis
2
operating-system
2
kernel
2
parsing
2
lzma
2
binding
2
glfw
2
games
2
osx
2
ada2012
2
sfml
2
midi
2
3d-engine
2
sound
2
database
2
graphics
2
sdl2
2
markdown
2