# POLL: What are the top three most needed open-source crates for Ada 2022?

**URL:** https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048
**Category:** General
**Tags:** spark, embedded, ada, gnat, alire
**Created:** [December 15, 2025, 4:36am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048 "2025-12-15T04:36:49Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![abitofhelp](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/abitofhelp/32/769_2.png) [@abitofhelp](https://forum.ada-lang.io/u/abitofhelp)
#### Post date: [December 15, 2025, 4:36am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/1 "2025-12-15T04:36:49Z")

</div>

I am between projects and looking for something interesting to work on… So:

## **What are the top three most needed crates for Ada 2022?**

1. 

1. 

1. 

======================================================================

Please check out my recent contributions to GitHub and Alire:

- Functional: Functional programming library
- Hybrid\_App\_Ada: Reference model for hybrid app with DDD+Clean+Hex+DIP architecture
- Hybrid\_Lib\_Ada: Reference model for hybrid lib with DDD+Clean+Hex+DIP architecture
- TZif: IANA timezone information file (tzif=compiled) database query engine.
- ZoneInfo: _Timezone-aware datetime arithmetic, civil time conversions, and human-readable duration formatting built on IANA timezone data_

##

---

<div class="post-metadata">

### Author: ![ValorZard](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/valorzard/32/623_2.png) [@ValorZard](https://forum.ada-lang.io/u/ValorZard)
#### Post date: [December 15, 2025, 5:51am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/2 "2025-12-15T05:51:07Z")

</div>

I doubt anyone is going to do this, but man it would be neat to have Ada bindings for Godot.

Like how there are now really good rust bindings: [GitHub - godot-rust/gdext: Rust bindings for Godot 4](https://github.com/godot-rust/gdext)

---

<div class="post-metadata">

### Author: ![Rigens](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/rigens/32/848_2.png) [@Rigens](https://forum.ada-lang.io/u/Rigens)
#### Post date: [December 15, 2025, 5:56am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/3 "2025-12-15T05:56:37Z")

</div>

Just going to throw stuff at the wall here.

1. Algorithms, math libraries, [Dictionary of Algorithms and Data Structures](https://xlinux.nist.gov/dads/) , I’m not suggesting that you go and add all of it, and even if you did I would probably stubbornly stick with my own implementations, but a basic algorithm library would be something nice that other programmers may like. I linked the us gov website, it’s better than wikipedia for indexing that information on one page in my opinion. I guess this is two suggestions in one, a basic algorithm library, and a basic data structure library. Maybe skip the data structure library completely because Ada’s type system might be better to just implement custom ones? I don’t know what I’m talking about.
2. Something that could map out memory locations to make a visualizer, or grab more memory related information. I’m spitballing here please forgive me 😅 .

I have now run out of ideas.

---

<div class="post-metadata">

### Author: ![waleedmebane](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/waleedmebane/32/352_2.png) [@waleedmebane](https://forum.ada-lang.io/u/waleedmebane)
#### Post date: [December 15, 2025, 7:07am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/4 "2025-12-15T07:07:10Z")

</div>

Since you are interested in functional programming, you might be interested in logic programming for Ada. Consider, for example, the [LC++ library](https://yanniss.github.io/lc++/) that adds statically-typed, compiled logic programming to C++ and is built on top of a functional programming library for C++. (I haven’t used it, so I don’t know if it is any good.) There exists a [Prolog engine for Ada](https://github.com/jquorning/Prolog), but it is an interpreter.

Logic programming can relieve programmers of the task of writing search code in some cases in a similar way as using relational databases and queries but without needing explicit foreign keys or table joins.

One possible approach to achieving logic programming for Ada might be to write an Ada backend to the [Mercury Logic Programming System](https://mercurylang.org/), a system implementing a statically-typed, compiled language designed for high performance. Its backends compile (transpile) to one of C, Java, or C# and can seamlessly integate with code from those languages. The system could be used from Ada via its C backend, but it calls exit on fatal errors rather than returning control to the host program in which it is embedded. Its memory management strategy might also not be conducive to some projects. Of course, modifications could be made to the C backend instead of writing a new backend in Ada. I am considering doing that in the future.

---

<div class="post-metadata">

### Author: ![Lucretia](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/lucretia/32/17_2.png) [@Lucretia](https://forum.ada-lang.io/u/Lucretia)
#### Post date: [December 15, 2025, 11:17am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/5 "2025-12-15T11:17:36Z")

</div>

[Someone](https://github.com/michael-hardeman/gdnative_ada) started that ages ago, don’t know what happened to it.

---

<div class="post-metadata">

### Author: ![Lucretia](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/lucretia/32/17_2.png) [@Lucretia](https://forum.ada-lang.io/u/Lucretia)
#### Post date: [December 15, 2025, 11:19am UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/6 "2025-12-15T11:19:05Z")

</div>

> [@Rigens](#):
>
> math libraries

I have something started [there,](https://github.com/ada-game-framework/maths) thinking about making it generic.

---

<div class="post-metadata">

### Author: ![mgrojo](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/mgrojo/32/15_2.png) [@mgrojo](https://forum.ada-lang.io/u/mgrojo)
#### Post date: [December 15, 2025, 9:35pm UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/7 "2025-12-15T21:35:25Z")

</div>

There are interesting ideas in this topic: [Ada library wishlist](https://forum.ada-lang.io/t/ada-library-wishlist/14/1)

---

<div class="post-metadata">

### Author: ![dmitry-kazakov](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/dmitry-kazakov/32/522_2.png) [@dmitry-kazakov](https://forum.ada-lang.io/u/dmitry-kazakov)
#### Post date: [December 15, 2025, 9:45pm UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/8 "2025-12-15T21:45:01Z")

</div>

A central searchable and maintained database of Ada solutions would be useful.

E.g. the list starts with HTTP unaware that an Ada HTTP implementation exists since 2013:

> **[Simple components for Ada](https://www.dmitry-kazakov.de/ada/components.htm#17.11)**
>
> Simple components for Ada

---

<div class="post-metadata">

### Author: ![mgrojo](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/mgrojo/32/15_2.png) [@mgrojo](https://forum.ada-lang.io/u/mgrojo)
#### Post date: [December 15, 2025, 10:18pm UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/9 "2025-12-15T22:18:06Z")

</div>

> [@dmitry-kazakov](#):
>
> A central searchable and maintained database of Ada solutions would be useful.

I know that you don’t like Alire and you didn’t create the [crate for simple\_components](https://alire.ada.dev/crates/simple_components.html), but that database is already found in the Alire community-index. You only have to add appropriate tags and a description to the crate entry.

Other catalogues that can be used are certain websites that discover and categorize open-source repositories (you can also manually add them), but I think they require a repository and your components doesn’t seem to be on a public one. Examples: [https://www.libhunt.com/l/ada](https://www.libhunt.com/l/ada), [Open Hub Projects](https://openhub.net/p?q=language%3Aada&sort=new)

---

<div class="post-metadata">

### Author: ![dmitry-kazakov](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/dmitry-kazakov/32/522_2.png) [@dmitry-kazakov](https://forum.ada-lang.io/u/dmitry-kazakov)
#### Post date: [December 15, 2025, 10:47pm UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/10 "2025-12-15T22:47:21Z")

</div>

> [@mgrojo](#):
>
> I know that you don’t like Alire and you didn’t create the [crate for simple\_components](https://alire.ada.dev/crates/simple_components.html)

No, as I explained many times making crates for Simple Components is technically not possible. Alire lacks some elementary functionality for that. BTW there was no Alire in 2013 AFAIK.

> [@mgrojo](#):
>
> but that database is already found in the Alire community-index

That is not same. Neither project name nor its description would give you right answer. What was the last time you searched a RPM repository for anything? Once you reach some size it becomes a fool’s errand. In 90’s you would get all Linux packages on a CD and simply scrolled them down looking for what you needed. Then it exploded, geometrically. Alire is just not yet there.

> [@mgrojo](#):
>
> Other catalogues

They are useless. You do not need a list of projects as I explained. You need lists of features. Example: “find me projects that provide an approximation of Bessel function [in Ada].” Start with that. Or what about finding Ada run-time for a board XYZ with clock support?

> [@mgrojo](#):
>
> I think they require a repository

They require **THE** repository. Simple components are packaged as Deb, RPM repositories. Stored in SourceForge. Why do you think the repository would survive when Microsoft would roll out something new?

Since search engines became totally useless we must return back to manually maintained catalogues they killed.

---

<div class="post-metadata">

### Author: ![GaryLHowell](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/garylhowell/32/403_2.png) [@GaryLHowell](https://forum.ada-lang.io/u/GaryLHowell)
#### Post date: [December 15, 2025, 11:39pm UTC](https://forum.ada-lang.io/t/poll-what-are-the-top-three-most-needed-open-source-crates-for-ada-2022/4048/11 "2025-12-15T23:39:43Z")

</div>

Ada engineers have the opportunity to fix the problems plaguing society due to development languages unsuited to the applications we all depend on. My wish list focuses on well designed, widely used, applications that are implemented with high level scripts on top of custom C-libraries.

It would be straight forward to re-implement these libraries in Ada. The availability of powerful AI coding tools would make this feasible at low cost. If you are wondering, YES these tools speak Ada and code amazingly well.

To be clear, I’m not speaking of Ada bindings here, they already exist. I suggesting total Ada base kernels compatible with the existing Hi-level Code.

So here are my three suggestions:

1. SQL Lite
2. 
# QuickJS Javascript Engine
3. [https://octave.org/](https://octave.org/)

I’m sure there are others, maybe better. I look forward to building my projects with just an Ada compiler.
