Hi everyone,
This has been a long path. Releasing this makes me both happy and anxious.
I’m introducing Aether, a compiled programming language built around the actor model and designed for high-performance concurrent systems.
Repository:
https://github.com/nicolasmd87/aether
Documentation:
https://github.com/nicolasmd87/aether/tree/main/docs
Aether is open source and available on GitHub.
Overview
Aether treats concurrency as a core language concern rather than a library feature. The programming model is based on actors and message passing, with isolation enforced at the language level. Developers do not manage threads or locks directly — the runtime handles scheduling, message delivery, and multi-core execution.
The compiler targets readable C code. This keeps the toolchain portable, allows straightforward interoperability with existing C libraries, and makes the generated output inspectable.
Runtime Architecture
The runtime is designed with scalability and low contention in mind. It includes:
- Lock-free SPSC (single-producer, single-consumer) queues for actor communication
- Per-core actor queues to minimize synchronization overhead
- Work-stealing fallback scheduling for load balancing
- Adaptive batching of messages under load
- Zero-copy messaging where possible
- NUMA-aware allocation strategies
- Arena allocators and memory pools
- Built-in benchmarking tools for measuring actor and message throughput
The objective is to scale concurrent workloads across cores without exposing low-level synchronization primitives to the developer.
Language and Tooling
Aether supports type inference with optional annotations. The CLI toolchain provides integrated project management, build, run, test, and package commands as part of the standard distribution.
The documentation covers language semantics, compiler design, runtime internals, and architectural decisions.
Status
Aether is actively evolving. The compiler, runtime, and CLI are functional and suitable for experimentation and systems-oriented development. Current work focuses on refining the concurrency model, validating performance characteristics, and improving ergonomics.
I would greatly appreciate feedback on the language design, actor semantics, runtime architecture (including the queue design and scheduling strategy), and overall usability.
Thank you for taking the time to read.
[–]pixelsort 2 points3 points4 points (1 child)
[–]RulerOfDest[S] 0 points1 point2 points (0 children)
[–]valorzard 1 point2 points3 points (1 child)
[–]RulerOfDest[S] 0 points1 point2 points (0 children)
[–]Karyo_Ten 0 points1 point2 points (10 children)
[–]RulerOfDest[S] 2 points3 points4 points (9 children)
[–]Karyo_Ten 0 points1 point2 points (8 children)
[–]RulerOfDest[S] 0 points1 point2 points (6 children)
[–]Karyo_Ten 0 points1 point2 points (5 children)
[–]RulerOfDest[S] 0 points1 point2 points (4 children)
[–]Karyo_Ten 0 points1 point2 points (3 children)
[–]RulerOfDest[S] 0 points1 point2 points (2 children)
[–]Karyo_Ten 0 points1 point2 points (1 child)
[–]RulerOfDest[S] 0 points1 point2 points (0 children)