A professional Ada 2022 application starter demonstrating a hybrid DDD/Clean/Hexagonal architecture with functional programming principles using the functional crate for Result monads.
This is a desktop/enterprise application template showcasing:
-
5-Layer Hexagonal Architecture (Domain, Application, Infrastructure, Presentation, Bootstrap)
-
Static Dispatch Dependency Injection via generics (zero runtime overhead)
-
Railway-Oriented Programming with Result monads (no exceptions across boundaries)
-
Presentation Isolation pattern (only the Domain is shareable across apps)
-
Single-Project Structure (easy Alire deployment)
Features
-
Single-project structure (easy Alire deployment) -
Result monad error handling (Domain.Error.Result) -
Static dependency injection via generics -
Application.Error re-export pattern -
Architecture boundary validation (arch_guard.py) -
Comprehensive documentation with UML diagrams -
Test framework (unit/integration/e2e - 109 tests) -
Windows CI with GitHub Actions -
Aspect syntax (not pragmas) -
Makefile automation
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Linux | CI tested, console I/O | |
| macOS | CI tested, console I/O | |
| Windows | CI tested (v2.0.0+), console I/O | |
| Embedded | Architecture supports it, not yet validated |
Release Notes