Skip to content

Add Flyology runtime, libraries, and GNAT patchsets - #160

Open
yrashk wants to merge 1 commit into
ohenley:masterfrom
yrashk:add-flyology
Open

yrashk wants to merge 1 commit into
ohenley:masterfrom
yrashk:add-flyology

Conversation

@yrashk

@yrashk yrashk commented Aug 20, 2026

Copy link
Copy Markdown

Adds Flyology, an experimental systems programming project for Ada, along with its libraries and its GNAT patchset repository.

Flyology Runtime is a GNAT runtime extension for ordinary Ada tasking. Undesignated tasks stay native on their pthreads; explicitly designated lightweight tasks run cooperatively as fibers on shared event-loop threads. Both lanes keep rendezvous, protected objects, exceptions, task activation, masters, and normal synchronous control flow — there is no async dialect. The remaining entries are separate libraries: a few build on the runtime's task-aware I/O, most are standalone and can be adopted without it.

Each entry is placed in the section matching its topic rather than grouped in one place:

Section Entry
Compilers → Open source → GPL (with linking exception) gnat-patches
Runtimes flyology
Frameworks → Terminal User Interface flyology-tui
Frameworks → Database flyology-postgres
Frameworks → Web flyology-http
Libraries → Algorithms, Containers and Protocols flyology-allocators, flyology-cachelines
Libraries → Format Readers, Writers and Checkers flyology-iri, flyology-rdf
Libraries → Networking and Communication Middleware flyology-quic
Libraries → General Purpose Computing flyology-simd
Libraries → Utilities flyology-bench, flyology-debug
Libraries → Linux and POSIX flyology-numa

A [flyology] reference definition is added beside the existing [adawebpack] one, so the HTTP and Postgres entries can link back to the runtime the way [matreshka] and [gnoga] are used elsewhere in the list.

All libraries are MIT OR Apache-2.0 and packaged for Alire. gnat-patches publishes patched native GNAT toolchain builds for GCC 13 through 16, each patch applying to checksum-pinned upstream sources and backed by an executable regression.

Checks run locally before opening this: npx awesome-lint reports no findings beyond what pristine master already reports in the same environment, and all 14 added links return 200.

Happy to move or drop any of these. The two placements I was least sure about are flyology-bench (a benchmarking harness, currently under Libraries → Utilities, though Frameworks → Unit Test, Testing may suit it better) and gnat-patches (it ships toolchain builds like fsf-gnat, but it is fundamentally a patchset repository, so Tools → DevOps is a defensible alternative).

@mgrojo mgrojo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! It looks good to me.

Since this is prolific, I think it deserves additional review. I'll wait for @ohenley or another reviewer for a week, to get a second opinion about classification and content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants